node_modules .bin 目录哪里来的
gyh 2019-09-09 npm
你应用的 package.json 一般是这样的:
{
"name": "my-app",
"devDependencies": {
"mocha": "^6"
},
"scripts": {
"test": "mocha test/**.test.js"
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
然后通过 npm test 即可调用 mocha 执行单测。
# scripts 里面配置的 mocha 是哪来的呢?
答:通过 npm 启动的脚本,会默认把 node_modules/.bin 加到 PATH 环境变量中。
# node_modules/.bin/mocha 是哪来的?
答:当某个模块配置了 bin 定义时,就会被安装的时候,自动软链了过去。 如 mocha 源码 配置了:
{
"name": "mocha",
"bin": {
"mocha": "./bin/mocha"
}
}
1
2
3
4
5
6
2
3
4
5
6