我有一个包本身有一个脚本package.json,我希望能够在我的顶级项目中运行.这个包是我的顶级项目依赖项之一.我正在寻找一种直接或间接调用依赖包脚本的方法.
让我们假设我正在使用的模块名称已命名foo,我想运行的脚本是updateFooData.
我尝试使用语法npm run-script <package> <...>来运行它,但这似乎是不推荐使用的功能,因为我在当前的官方文档中找不到它,但我在其他(非常旧的)搜索结果中看到它.
npm run-script foo updateFooData
# npm ERR! missing script: foo
Run Code Online (Sandbox Code Playgroud)
我也查看了npm api,虽然npm.commands.run-script(args, callback)我会做我想要的,我无法弄清楚如何将模块加载到npm
{
...
"scripts":{
"foo:updateFooData": "node --eval \"... ??; npm.commands.run-script('updateFooData', callback)\""
}
}
npm run foo:updateFooData
# Obviously fails
Run Code Online (Sandbox Code Playgroud)
到目前为止,我发现的唯一的工作是CD进入子模块目录并从那里运行npm.这不是我的首选解决方案.
cd node_modules/foo
npm run updateFooData
Run Code Online (Sandbox Code Playgroud) npm ×1