node.js - 无法访问 Node 中的 windows 环境变量
问题描述
今天我试图写一个这样的环境变量:
set PORT=5000
但是当我通过 node 中的 process.env.PORT 变量访问它时,它给出了未定义的。
我可能遗漏了一些东西或我的电脑出现故障,所以任何帮助将不胜感激,谢谢
解决方案
在运行 node JS 程序时,使用以下命令在 node 进程中设置端口号。而这个端口只会限制在这个节点进程中。
set PORT =3000 && node file_name.js
设置的端口可以在代码中访问为
process.env.PORT
我建议您使用 .environment 文件将您的配置分开。
要遵循的步骤:
- 创建一个 package.json 文件
- 安装 dotenv npm 包
- 编写代码以读取 .env
- 运行代码
.env
# .env.example
NODE_ENV=development
PORT=8626
# Set your database connection information here
API_KEY=your-core-api-key-goes-here
server.js 文件:
// server.js
console.log(`Your port is ${process.env.PORT}`); // undefined
const dotenv = require('dotenv');
dotenv.config();
console.log(`Your port is ${process.env.PORT}`); // 8626
有关更多详细信息,您可以查看:https ://www.twilio.com/blog/working-with-environment-variables-in-node-js-html
推荐阅读
- flutter - 如何从 Flutter Web 应用程序共享 S3 存储桶上的图像?
- python - 正则表达式排除特定模式 python
- vb.net - DataGridView 列标题单元格下拉过滤列表,不区分大小写
- javascript - 使用运算符的数组多条件过滤器
- android - DatabaseException:无法将 java.lang.String 类型的对象转换为类型,哪里有问题?
- mysql - MySql:由于 IF 条件填充一列?(见里面的例子;))
- python - 如何使用 SQLAlchemy 的 connection.execute 插入 CURRENT TIMESTAMP 的值
- doctrine - 如何使用迁移配置学说?
- unity3d - CharacterController 统一跳转
- azure-pipelines - 通过浏览器 UI“运行管道”定义变量时如何在脚本任务中使用变量