【发布时间】:2020-11-10 04:26:25
【问题描述】:
我有以下项目结构,我想使用 'dotenv' 包来存储一些隐藏的值。
projectName/src/
projectName/.env/
我目前有两个 .js 文件:
1. projectName/src/db/mongoose.js :
const { join } = require('path')
require('dotenv').config({ path: join(__dirname, '..', '..', '.env') })
const connectionURL = process.env.MONGOOSE_CONNECTION_URL
mongoose.connect(connectionURL, {
useNewUrlParser: true,
useUnifiedTopology: true
})
2. projectName/src/index.js :
const express = require('express')
const { join } = require('path')
require('./db/mongoose')
const User = require('./models/user')
require('dotenv').config({ path: join(__dirname, '..', '.env') })
const app = express()
const port = process.env.NODE_PORT
app.listen(port, () => {
console.log('App is running on port: ' + port);
})
既然 '.env' 文件位于项目的根目录中,并且我的项目从 index.js 运行,那么为什么我总是要在每个其他 js 文件中显示 '.env' 文件的路径? 我认为在 index.js 中显示 '.env' 路径应该足以运行项目。
【问题讨论】: