作为前两篇的补充,本文想再说明一下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吧。