提问者:小点点

试图从终端更改node.js中的环境变量,但其值始终未定义


我是后端开发的新手,下面是使用express编写的JS代码

const express = require('express');
const app = express();
const port = process.env.PORT || '3000';
app.listen(port, ()=> console.log(`Listening on port ${port}...`));

我正在尝试使用set port=5000(我在windows上)将环境变量process.env.port更改为与终端不同的端口,但每当它运行时,env.port中的值总是未定义的,我是不是做错了什么?还有,我使用的是VS代码。


共2个答案

匿名用户

参考您的代码示例,您需要如下内容:

var express = require("express");
var app = express();

// sets port 5000 to default or unless otherwise specified in the environment
app.set('port', process.env.PORT || 5000);

app.get('/', function(req, res){
    res.send('hello world');
});

// Only works on 3000 regardless of what I set environment port to or how I set
// [value] in app.set('port', [value]).
// app.listen(3000);
app.listen(app.get('port'));

process.env是对您的环境的引用,所以您必须在那里设置变量。

SET NODE_ENV=development

匿名用户

我正在使用下面的脚本运行我的Windows节点应用程序。

SET NODE_ENV=development& node app.js