当前位置: 首页 > 知识库问答 >
问题:

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

凌运恒
2023-03-14

我是后端开发的新手,下面是使用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个答案

康秋月
2023-03-14

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

SET NODE_ENV=development& node app.js
阮鸿煊
2023-03-14

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

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
 类似资料:
  • 我正在尝试运行一个使用Docker-Compose运行的SpringBoot项目。我使用启动了它的依赖项(Redis、MongoDB和RabbitMQ 我正在构建项目并使用以下命令运行它 我总是犯这些错误: 上处理条件时出错 中的占位符“OAUTH_CLIENTID” 在docker-compose文件中,环境变量的值在environment部分中定义。 这就是application.yml的样子

  • 问题内容: 我在下面的代码中只想设置一个环境变量: 运行此文件: 该调用可以正确打印,但是随后我希望在会话中也设置此env变量,但是: 什么都没有,它是空的。这是预期的行为吗?如果是这样,我如何使这个env变量在我的会话中保持不变,并使用类似这样的程序对其进行设置? 问题答案: 创建新流程时,将复制父流程的环境。在新流程中对环境所做的更改不会影响父流程。修改环境后,您必须让程序启动Shell。

  • 一个朋友让我为他们做一个minecraft插件,所以我需要安装Maven。我已经按照教程的指示安装了以下用户变量。 > java_home--值:C:\program files\java\jdk1.8.0\bin windows 7 maven 2安装 当我尝试在命令Propmpt中设置它时,它会响应我,说。如何成功运行? 谢谢你的阅读。 另外,这是我的系统路径变量值:有什么问题吗?

  • platformVersion和environment始终为空。在日志中:添加[class path resource[tests.properties]]PropertySource以最低的搜索优先级。我看到stackoverflow上的其他帖子(Autowired Environment是空的),我不想去实现EnvironmentAware。为环境而将私人改为公共并不能解决问题。任何其他想法都

  • 我刚刚下载了Java,根据Java控制面板,可执行文件位于以下目录:

  • 问题内容: 有没有办法在Node.js代码中读取环境变量? 例如Python的。 问题答案: process.env.ENV_VARIABLE 您要访问的变量的名称在哪里。