Skip to content
On this page

npm 环境变量

json
{
  "name": "test",
  "version": "1.0.0",
  "description": "npm 介绍",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js"
  },
  "author": "",
  "license": "MIT"
}
bash
npm run start
# 或者
node index.js
js
// index.js

console.log('我是 npm 测试脚本');
console.log(process.env, '环境变量');

这边通过 npm scripts 使用 node 去运行 index.js 文件,这时候将打印出了所有环境变量。
在终端直接运行 node index.js 也可以打印出来,只是缺少 npm 相关环境变量。
这个局部环境变量主要加入了三块数据:包数据、配置数据、生命周期数据。

1、npm package的环境变量转化后的数据:

json
{
  "npm_package_author": "",
  "npm_package_description": "npm 介绍",
  "npm_package_license": "MIT",
  "npm_package_main": "index.js",
  "npm_package_name": "test",
  "npm_package_scripts_start": "node index.js",
  "npm_package_scripts_test": "echo 'Error: no test specified' && exit 1",
  "npm_package_version": "1.0.0",
}

全部以 npm_package_ 开头,转成扁平化数据,单词之间用下划线连接,中划线都被转为下划线。

2、.npmrc的环境变量转化后的数据:

.npmrc 文件

bash
registry=https:/XXXXXXXXX/
test=aaaaa

转化后的数据是这个样的

json
{
    "npm_config_registry": "https:/XXXXXXXXX/",
    "npm_config_test": "aaaaa"
}

3、修改下输入命令参数如下

bash
npm run start --test1='hello world' --test-2

转化为:

json
{
  "npm_config_test1": "hello world",
  "npm_config_test_2": "true",
}

Released under the MIT License.