Node.js - 如何在代码中设置环境变量
Node.js - how to set environment variables in code
我是 node.js 的新手,我有一个程序,我必须设置一个环境变量才能 运行(使用 noble 库,我的 bash 命令是:sudo NOBLE_HCI_DEVICE_ID=x node program.js
,告诉我的代码使用哪个蓝牙适配器 - HCI 设备)。
这背后的原因是我有很多模块,每个模块都需要自己的蓝牙适配器,我希望在我的代码中指定每个模块应该使用哪个适配器。
我发现很多文章告诉我如何在我的代码中使用环境变量并通过命令行设置它们 (process.env.VARIABLE_NAME),但没有告诉我如何在 [=21] 中设置它们=].
是否可以在我的 node.js 代码中设置环境变量?
运行 命令提示符
export FOREVER_ROOT=/var/log/
这里export设置一个环境变量
或
在您希望更新变量的每个 shell 处执行“/etc/environment”:
$/etc/environment
您不仅可以使用 process.env
在节点中使用环境变量,还可以设置它们。这将在当前节点进程及其调用的任何子进程中设置变量,但不会在调用 shell 本身中设置变量。
// consume
var alreadySetEnvVarForDevice = process.env.NOBLE_HCI_DEVICE_ID
// set
process.env['NOBLE_HCI_DEVICE_ID'] = 1
如果你使用的是express,你可以设置变量如下:
var express = require('express');
var app = express();
// set the environment mode, default is process.env.NODE_ENV
app.set('env','development');
app.get('env');
// => 'development'
我是 node.js 的新手,我有一个程序,我必须设置一个环境变量才能 运行(使用 noble 库,我的 bash 命令是:sudo NOBLE_HCI_DEVICE_ID=x node program.js
,告诉我的代码使用哪个蓝牙适配器 - HCI 设备)。
这背后的原因是我有很多模块,每个模块都需要自己的蓝牙适配器,我希望在我的代码中指定每个模块应该使用哪个适配器。
我发现很多文章告诉我如何在我的代码中使用环境变量并通过命令行设置它们 (process.env.VARIABLE_NAME),但没有告诉我如何在 [=21] 中设置它们=].
是否可以在我的 node.js 代码中设置环境变量?
运行 命令提示符
export FOREVER_ROOT=/var/log/
这里export设置一个环境变量
或
在您希望更新变量的每个 shell 处执行“/etc/environment”:
$/etc/environment
您不仅可以使用 process.env
在节点中使用环境变量,还可以设置它们。这将在当前节点进程及其调用的任何子进程中设置变量,但不会在调用 shell 本身中设置变量。
// consume
var alreadySetEnvVarForDevice = process.env.NOBLE_HCI_DEVICE_ID
// set
process.env['NOBLE_HCI_DEVICE_ID'] = 1
如果你使用的是express,你可以设置变量如下:
var express = require('express');
var app = express();
// set the environment mode, default is process.env.NODE_ENV
app.set('env','development');
app.get('env');
// => 'development'