npm run在哪里寻找脚本?

时间:2018-09-11 08:42:27

标签: node.js npm jasmine

当我在命令行中键入“ npm run test”时,npm转到package.json,转到“脚本”部分,并尝试在此处匹配“ test”。 到目前为止一切顺利。

现在,“测试”后面的行如下:"JASMINE_CONFIG_PATH=./spec/support/jasmine.json jasmine-run",但是第一部分(除“茉莉花运行”之外的所有内容)都可以删除,而不会出现问题。 [我有一个结构类似的项目,所以可以测试这些修改]

现在: npm在哪里寻找“茉莉花”?

因为我有一个脚本可以提供工作的项目,所以我可以寻找它,但是答案是:在package.json旁边的node_modules文件夹中是一个模块,其package.json包含在该模块中, ”部分:

"jasmine-run": "tools/jasmine-run/jasmine-run.js",

但是,这两个项目中都存在这种精确的设置。在一种方法中一切正常,而在另一种“茉莉花”中则找不到。

作为答案的替代,我还将对npm运行的实际方式/位置进行适当的解释(或说明),因为那样的话我自己可能会发现错误。

2 个答案:

答案 0 :(得分:1)

使用npm运行脚本时:

npm run-script <name>

或带有

之类的快捷方式
npm test or npm start, 

您当前软件包目录的bin目录位于路径的前面。 对于您来说,在许多情况下 ./node_modules/.bin/, 包含指向程序包的可执行脚本的链接。

无论如何,您都可以在这里获得有关npm运行方式的所有解释:https://docs.npmjs.com/cli/run-script

答案 1 :(得分:1)

npm run将node_modules / .bin添加到提供给脚本的PATH中。本地安装的依赖项提供的任何二进制文件都可以使用,而无需使用node_modules / .bin前缀。

检查是否可以在node_modules / .bin目录中找到jasmine-run。

作为参考,请看一下这篇文章:https://docs.npmjs.com/cli/run-script