当我在命令行中键入“ 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运行的实际方式/位置进行适当的解释(或说明),因为那样的话我自己可能会发现错误。
答案 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