Node.js Env Vars在my seed.js文件(NODEJS)中未定义

Node.js Env Vars在my seed.js文件(NODEJS)中未定义,node.js,mongoose,environment-variables,Node.js,Mongoose,Environment Variables,所以我正在做这个项目,一切都很好,我的.env正在工作,所有的env变量都在变量文件中定义。然后我决定为我的数据库创建一个种子文件,但它无法从.env读取MONGODB_URL值,并且它的输出未定义尽管它几乎在我使用它的任何地方都能工作(相同的变量!) 我已经在我的应用程序中配置了.env这是我的服务器.js: #!/usr/bin/env node require('dotenv').config() require('./db/mongoose.js') const cors = requ

所以我正在做这个项目,一切都很好,我的.env正在工作,所有的env变量都在变量文件中定义。然后我决定为我的数据库创建一个种子文件,但它无法从.env读取MONGODB_URL值,并且它的输出未定义
尽管它几乎在我使用它的任何地方都能工作(相同的变量!)

我已经在我的应用程序中配置了.env

这是我的服务器.js:

#!/usr/bin/env node
require('dotenv').config()
require('./db/mongoose.js')

const cors = require("cors")
const express = require('express')
const userRouter = require('./routers/user.router')
const answerRouter = require('./routers/answer.router')
const questionRouter = require('./routers/question.router')

console.log(process.env.MONGODB_URL) // works!
const port = process.env.SERVER_PORT // port = 5000

const app = express()
app.use(express.json())
app.use(cors())
app.use(userRouter) 
app.use(questionRouter)
app.use(answerRouter)


app.listen(port,()=>{
    console.log("server is up on port: " + port) //server is up on port 5000
})

这是我的环境

SERVER_PORT = 5000
MONGODB_URL='mongodb://127.0.0.1:27017/app0-dev-database'
这是我的种子

const seeder = require('mongoose-seed');

console.log(process.env.MONGODB_URL) // undefined
seeder.connect(process.env.MONGODB_URL, function(){ // error
    seeder.loadModels([
        './server/models/user.model.js',
        './server/models/question.model.js'
    ]);
    seeder.clearModels (['User','Question' ], function(){
        seeder.populateModels(data, function (err, done){
            if(err) {
                return console.log("seed err", err)
            }
            if (done) {
                return console.log("seed done", done);
            }
            seeder.disconnect()
        })
    })
})

MONGODB_URL的值未定义
我需要知道如何解读它的价值


提前谢谢你

如果seed.js没有以任何方式请求/加载server.js,你不能依赖那里的调用-你需要在两个文件中都需要它
在“seed.js”中,您应该编写以下内容:

require('dotenv').config()

如果
seed.js
没有以任何方式请求/加载
server.js
,你就不能依赖那里的
dotenv
调用-你需要在这两个文件中都使用它。哦,这很有效。它是如此简单,我没有想到它。非常感谢你的帮助