npm run-script 全方位解读

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

npm run-script 功能

运行 package.json 里面的 scriptsnode

npm run-script使用

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

alias: npm run

https://a.axihe.com/img/api-npm/mintty_9Oxifheaqu.png

npm run-script 说明

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

若是未 "command"提供,它将列出可用的脚本。 npm

run[-script]由测试,启动,从新启动和中止命令使用,但也能够直接调用。json

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

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

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

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

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

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

"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中文文档

相关文章
相关标签/搜索