npm 配置文件

npm 配置文件

npm 可以从命令行,环境变量和npmrc文件得到配置信息;
npm config用来更新和编辑用户和全局 npmrc 文件的配置信息;

每一个项目的配置文件 (/path/to/my/project/.npmrc)
每一个用户的配置文件 (~/.npmrc)
全局配置文件 ($PREFIX/etc/npmrc)
npm内置的配置 (/path/to/npm/npmrc)

所有的配置文件都是key=value形式的,环境变量可以使用${变量名}被替代;例如prefix = ${HOME}/.npm-packages;
数组格式的配置这样写,
key[] = "first value"
key[] = "second value"

安装相关

npm i 会安装所有的依赖,包括开发环境;
npm install --production 或者给环境变量NODE_ENV设置production;
只安装dependencies而不安装devDependencies。
npm install packagename --only=dev  只安装开发依赖

其它

在使用 npm run script-name 命令时,npm 会设置一个环境变量 npm_lifecycle_event。
实际上 npm 还会设置很多环境变量,通过内置命令 npm run env 可以查看 npm 为脚本运行时设置的所有环境变量。 
其中 package.json 中设置的所有字段,都会被设置为 npm_package_ 开头的环境变量。
npm 相关的所有配置也会有 npm_config_ 开头的环境变量。
需要注意的是,即使在子目录下使用 npm run 命令,脚本也会在项目的根目录下运行。
如果你想要区分在哪里使用的 npm run 命令,可以使用 INIT_CWD 环境变量,该变量保存了 npm run 命令运行时目录的绝对路径。

如何使用这些环境变量?如果你的脚本是 shell 脚本,可以直接通过对应的环境变量名获取变量值,
如果是 node 脚本,可以通过 nodejs 中的全局变量 process.env 获取,比如获取项目版本号可以使用 process.env.npm_package_version。