javascript - 如何运行编写在外部 js 文件中的 npm 脚本(package.json)?
问题描述
我知道它已经涵盖在不同的问题中,但我的问题有点不同:如果听起来真的很菜,请提前抱歉。
这是 package.json 中的脚本:
"start": "nodemon ./index.js --exec \"node -r babel-register\"",
我将其替换为:
"start": "node scripts/start.js",
在 start.js 中,我这样做:
const { execSync } = require('child_process')
execSync('nodemon ../index.js --exec \"node -r babel-register\"')
引发错误:
/bin/sh: nodemon: 找不到命令
我对“execSync”是否正确?
我在文件中尝试了 import nodemon ,但显然没有帮助。
解决方案
如果nodemon
全局安装,您所做的应该可以工作,即:
npm install -g nodemon
但如果它作为项目依赖项安装,即:
npm install --save-dev nodemon
然后你需要从包含所有本地安装的二进制文件的目录中运行它:node_modules/.bin/
所以这样的事情应该有效:
execSync('./node_modules/.bin/nodemon ../index.js --exec \"node -r babel-register\"')
推荐阅读
- rust - 使用 Futures 和 Tokio 进行 Rust 并发执行
- sql-server-2014 - 将 SQL Server 2014 升级到 SQL Server 2016
- machine-learning - 随机森林是解决这个问题的最佳方法吗?
- java - Eclipse RCP 和 Tycho
- actionscript-2 - 我如何判断我的数组是否已达到最大大小?[动作脚本 2]
- spring - Weblogic上的Spring MVC Rest Application抛出java.lang.StackOverflowError
- xamarin.forms - Xamarin Forms:无法创建左对齐的 2 列网格
- php - 如何在 Codeignator 的控制器中添加文件?
- python - scikit-learn 谱聚类:无法找到潜伏在数据中的 NaN
- android - 微调器不清除