本文作者: jsweibo
本文链接: https://jsweibo.github.io/2019/05/04/%E4%BB%80%E4%B9%88%E6%98%AFnpm%E8%84%9A%E6%9C%AC/
摘要
本文主要讲述了:
- 什么是 npm 脚本
- 如何查看脚本
- 如何执行脚本
- shell
- 脚本执行位置
- 如何向脚本传递参数
- 脚本退出码
- 错误输出抑制参数
正文
什么是 npm 脚本
npm 脚本指的是package.json
中scripts
字段里的内容。
如何查看脚本
使用npm run-script
命令查看package.json
中的所有脚本。
注:npm run-script
命令也可以缩写为npm run
。
1 |
|
如何执行脚本
npm run-script
+ 脚本名称 即可执行对应的脚本。
示例:
1 | { |
1 |
|
shell
不同系统默认使用不同的 shell 执行 npm 脚本。
- Windows 系统使用
cmd.exe
执行 npm 脚本 - 类 Unix 系统使用
/bin/sh
执行 npm 脚本
示例:将 Windows 系统下 npm 脚本的默认 shell 修改为bash
1 | npm config set script-shell C:\Windows\System32\bash.exe |
示例:将 Windows 系统下 npm 脚本的默认 shell 修改为powershell
1 | npm config set script-shell C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe |
示例:恢复默认设置
1 | npm config delete script-shell |
注意:也可以通过手动修改.npmrc
配置来指定 script-shell
示例:
~/.npmrc
(单用户配置文件)
1 | script-shell=C:\Windows\System32\bash.exe |
脚本执行位置
无论 CWD 是哪一个子目录,脚本始终在项目根目录执行。
示例:
1 | { |
1 |
|
虽然 CWD 为learn_npm/src/
,但dir
脚本输出的文件目录还是learn_npm/
。
如何向脚本传递参数
可以通过--
直接传递参数给脚本。
示例:向dir
脚本传递-lha
参数。
1 | { |
运行:
1 |
|
相当于:
1 |
|
注意:参数只传递给脚本本身,不传递给带pre
和post
前缀的同名脚本。
脚本退出码
当脚本的退出码为非 0 时,npm 会发出警告,表示脚本执行发生错误
示例:
1 | { |
运行下面的命令会中止程序并输出错误
1 |
|
错误输出抑制参数
--silent
可以抑制输出错误信息。
示例:
假设存在 1 个名为learn_npm
的项目。
1 | { |
运行下面的命令会中止程序并输出错误
1 |
|
参考资料
本文作者: jsweibo
本文链接: https://jsweibo.github.io/2019/05/04/%E4%BB%80%E4%B9%88%E6%98%AFnpm%E8%84%9A%E6%9C%AC/
本文对你有帮助?请支持我
- 本文链接: https://jsweibo.github.io/2019/05/04/%E4%BB%80%E4%B9%88%E6%98%AFnpm%E8%84%9A%E6%9C%AC/
- 版权声明: 除非另有说明,否则本网站上的内容根据署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可。