【问题标题】:Server port undefined in Node节点中未定义服务器端口
【发布时间】:2022-02-18 16:56:00
【问题描述】:

我正在制作一个节点服务器并运行它,所以我从 dotenv 文件中获取了未定义的值。

这是我的项目结构:

backend
       config
            config.env
       app.js
       server.js

这里是config.js的代码:

PORT = 5000

NODE_ENV = DEVELOPMENT

app.js:

const express = require('express')
const app = express();

module.exports = app

server.js:

const app = require('./app')
const dotenv = require('dotenv');

//setting up confg file
dotenv.config({path:'backend/config/config.env'})
app.listen(process.env.PORT,()=>{
    console.log(`server started on PORT:${process.env.PORT} in ${process.env.NODE_ENV} node.`)
})

这是输出:

server started on PORT:undefined in undefined node.

【问题讨论】:

    标签: javascript node.js dotenv


    【解决方案1】:

    您犯的错误是在配置路径中,因为 server.js 在您需要使用的后端文件夹中

    dotenv.config({path:'./config/config.env'}) 而不是 dotenv.config({path:'backend/config/config.env'} )

    const app = require('./app')
    const dotenv = require('dotenv');
    
    //setting up confg file
    dotenv.config({path:'./config/config.env'})
    app.listen(process.env.PORT,()=>{
        console.log(`server started on PORT:${process.env.PORT} in ${process.env.NODE_ENV} node.`)
    })
    

    【讨论】:

    • 它可以工作,但我正在学习 Udemy 的教程,他使用了后端/配置.... 并且工作正常
    • 教程有多久了?他可能在他的配置中使用了一些路径设置
    • 6 个月前,我从头开始学习该教程,即使我第二次创建此应用程序,第一次我没有收到任何错误
    • 即使我在 nodemon "scripts" 中面临同样的事情:{ "start": "node backend/server.js", "dev": "SET NODE_ENV=DEVELOPMENT& nodemon ./server", " prod": "SET NODE_ENV=PRODUCTION& nodemon ../server" },
    猜你喜欢
    • 2011-11-28
    • 2020-12-30
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    相关资源
    最近更新 更多