繁体   English   中英

node.js 中的环境变量存储在哪里?

[英]Where are environment variables stored in node.js?

我想在环境变量中添加一些变量,但找不到存储这些变量的文件。

我检查了 package.JSon 和每个文件夹,但找不到存储它们的文件。

node.js 在哪里存储它的环境变量?

正如评论中所指出的,您必须在调用节点程序时提供这些变量:

$ NODE_ENV=test node yourApp.js

您可以在代码中访问它:

console.log("Environment variable: " + process.env.NODE_ENV);

您可以在应用程序文件夹中创建一个.env文件并定义要在应用程序中使用的所有环境变量。 以下是此类文件的示例内容。

DB_HOST=localhost
DB_USER=root
DB_PASS=123456

然后使用dotenv npm 包将.env文件中的所有变量导入到 node 进程环境中。 然后您可以从process.env对象访问这些变量。

require('dotenv').config() 
var db = require('db') 
db.connect({   
    host: process.env.DB_HOST,   
    username: process.env.DB_USER,   
    password: process.env.DB_PASS 
})

您可以使用名为 cross-env 的包。 https://www.npmjs.com/package/cross-env使用$ NODE_ENV=test node yourApp.js是这在 Windows 系统中不起作用。

为了使用cross-env,您可以执行以下操作

npm install --save-dev cross-env

将以下内容添加到您的 package.json

{
  "scripts": {
      "dev": "cross-env NODE_ENV=development node index.js"
   }
}

您可以通过运行来运行您的代码

npm 运行开发

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM