npm-runscript-全方位解读

42次阅读

共计 1281 个字符,预计需要花费 4 分钟才能阅读完成。

本文参考了 NPM 中文文档写作而成的

npm run-script 功能

运行 package.json 里面的 scripts

npm run-script 使用

npm run-script <command> [--silent][-- <args>...]

alias: npm run

npm run-script 说明

这将从包的 ”scripts” 对象运行任意命令。

如果未 “command” 提供,它将列出可用的脚本。

run[-script] 由测试,启动,重新启动和停止命令使用,但也可以直接调用。

打印软件包中的脚本后,它们将分为生命周期(测试,启动,重新启动)和直接运行的脚本。

从开始 npm@2.0.0,您可以在执行脚本时使用自定义参数。特殊选项 - 由 getopt 用来分隔选项的结尾。npm 将 - 之后的所有参数直接传递给您的脚本:

npm run test -- --grep="pattern"

参数将仅传递到后面指定的脚本,npm run 而不会传递到任何前置或后置脚本。

该 env 脚本是一个特殊的内置命令,可用于列出运行时脚本可使用的环境变量。如果您的软件包中定义了“env”命令,它将优先于内置命令。

除了外壳的预先存在的 PATH,npm run 增加了 node_modules/.bin 对 PATH 提供给脚本。本地安装的依赖项提供的任何二进制文件都可以不带 node_modules/.bin 前缀使用。例如,如果包装中有 devDependencyon tap,则应输入:

"scripts": {"test": "tap test/\*.js"}

代替

"scripts": {"test": "node_modules/.bin/tap test/\*.js"}  

运行测试。

您的脚本在其中运行的实际外壳取决于平台。默认情况下,在类似 Unix 的系统上,它是 /bin/sh 命令;在 Windows 上,它是命令 cmd.exe。所引用的实际 shell /bin/sh 也取决于系统。

从那时起,npm@5.1.0 您可以使用 script-shell 配置自定义外壳。

脚本从模块的根目录运行,而不管调用时当前的工作目录是什么 npm run。

如果您希望脚本根据您所在的子目录使用不同的行为,则可以使用 INIT_CWD 环境变量,该变量保存您运行时所在的完整路径 npm run。

npm run 将 NODE 环境变量设置为 node 可执行的可执行文件 npm。

另外,如果 --scripts-prepend-node-path 通过,则将 node 驻留的目录添加到中 PATH。

如果 --scripts-prepend-node-path=auto 通过了(这是 npmv3 中的默认值),则仅当在中 node 找不到该可执行文件时才执行此操作 PATH。

如果您尝试在没有 node_modules 目录的情况下运行脚本,

但脚本失败,则会警告您运行 npm install,以防万一您忘记了。

您可以使用该 --silent 标志来防止 npm ERR! 错误显示输出。

您可以使用该 --if-present 标志来避免在脚本未定义时以非零的退出代码退出。

这使您可以运行可能未定义的脚本,而无需中断执行链。

本文参考 NPM 中文文档

正文完
 0