如何将运行 npm script (package.json)写入外部js文件?

How to run npm script (package.json) written in an external js file?

我知道它已经在不同的问题中有所涉及,但我的有点不同: 如果听起来真的很菜鸟,请提前道歉。

这是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: command not found

我对“execSync”的理解正确吗?

我尝试在文件中导入 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\"')