npm v5.2.0引入的一条命令(npx),提升了开发者使用包内提供的命令行工具的体验。
安装webpack:
npm i -D webpack
调用项目内部的webpack:
# 项目的根目录下执行 ./node_modules/.bin/webpack -v
有了 npx,只需要这样:
npx webpack -v #npx 会自动查找当前依赖包中的可执行文件,如果找不到,就会去 PATH 里找。如果依然找不到,就会帮你安装!
create-react-app
这个模块是全局安装,npx 可以运行它,而且不进行全局安装。老方法:
npm install -g create-react-app create-react-app my-app
npx方式:
npx create-react-app my-app #这条命令会临时安装 `create-react-app` 包,命令完成后`create-react-app` 会删掉,不会出现在 global 中。下次再执行,还是会重新临时安装。
npx node@0.12.8 -v #npx 可以下载模块,上面命令会使用 0.12.8 版本的 Node 执行脚本。原理是从 npm 下载这个版本的 node,使用后再删掉。 #指定node版本来运行`npm scripts` npx -p node@8 npm run build
npx 还可以执行 GitHub 上面的模块源码。
# 执行 Gist 代码 npx https://gist.github.com/zkat/4bc19503fe9e9309e2bfaa2c58074d32 # 执行仓库代码 npx github:piuccio/cowsay hello
package.json
和入口脚本。npx http-server
--no-install
:强制使用本地模块,不下载远程模块,如果本地不存在该模块,就会报错。
--ignore-existing
:忽略本地的同名模块,强制安装使用远程模块
-p
:指定 npx 所要安装的模块
-c
:如果 npx 安装多个模块,默认,第一个可执行项会使用 npx 安装的模块,后面的可执行项还是会交给 Shell 解释(可能会报错)。
-c
所有命令都用 npx 解释npx -c 'echo "$npm_package_name"' #输出当前项目的项目名