作为前两篇的补充,本文想再说明一下npx命令相关的另一种实现。
NPM Scripts
在前面的文章中,我们提到使用如下命令方式:
npx webpack ......
于是,位于“./node_modules/.bin/webpack”便会被执行。这得益于npx这个命令。
其实,还有另外一种方式,更为常用,即借助于npm run命令和package.json配置文件中的“scripts”键。
示例
请看下面的配置文件:
{
"name": "ex1",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack"
},
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^4.29.5",
"webpack-cli": "^3.2.3"
}
}
注意,其中的scripts这一组键/值对。现在,再在命令行下运行如下命令:
npm run build
来代替使用前面的npx命令,也能达到同样的效果。即webpack会自动被执行,而且会根据根目录下的webpack.config.js内容进行编译并打包。
这种思路更为典型!如果你分析他人的作品,是不是发现大多是使用这种组织方式?
补充
如果您使用的是npm 5,您可能还会在目录中看到一个名字为package-lock.json的文件。具体故事,还是请自行网搜Npm吧。