我理解npm脚本将./node_modules/.bin添加到您的PATH中,因此您可以使用下面的package.json运行npm test,并且npm将自动使用在./node_modules/.bin中找到的mocha的本地版本。
"scripts": {
"test": "mocha"
}这是一个很好的特性,因为它可以帮助我编写这样的package.json文件:
"scripts": {
"test": "./node_modules/.bin/mocha"
}但是,如果我聘请了一位在全球安装了摩卡的新开发人员,该怎么办?或者我需要把它推到一个带有预先配置的全局包的环境中?如果我使用的是短手mocha,而不是我的package.json中的./node_modules/.bin/mocha,那么优先考虑的是全局包还是本地包?
发布于 2017-06-07 21:14:42
Node.js将尝试首先运行本地安装的软件包。
如果您需要一个模块,Node.js通过遍历祖先目录(
./node_modules/、../node_modules/、../../node_modules/等)中的所有node_node/目录来查找它。使用找到的第一个适当模块。
有关Node.js如何解析所需模块的更详细说明,请参见这是一个很好的故障。
https://stackoverflow.com/questions/44420381
复制相似问题