我有下面的项目结构,我想使用'dotenv'包来存储一些隐藏的值。
projectName/src/ projectName/.env/
我现在有两个.js文件,它们是:第一个既然.“env”文件在项目的根目录中,而我的项目是从index.js运行的,那么为什么我总是要在每隔一个js文件中显示.“env”文件的路径呢?我认为在index.js中显示.“env”路径就足以运行项目了。
prdp8dxp1#
不,你不需要正确的方法是,你创建config.js文件,并要求dotenv一次,把你所有的配置在它和导出你需要使用的其他文件,像这样。index.js
const express = require('express') require('./db/mongoose') const User = require('./models/user') const {port} =require('./config') const app = express() app.listen(port, () => { console.log('App is running on port: ' + port); })
config.js
require('dotenv').config({ path:'your .env path' }) module.exports={ port: process.env.NODE_PORT || 5000, connectionURL: process.env.MONGOOSE_CONNECTION_URL }
并像索引中端口一样需要它
fcg9iug32#
只需在index.js中添加require('dotenv'),但在开始时添加。在您的示例中,当添加db模块时,还没有配置dotenv。
require('dotenv')
vmjh9lq93#
通过调用
require('dotenv').config({ path: join(__dirname, '..', '.env') })
然后再导入Mongoose文件。
3条答案
按热度按时间prdp8dxp1#
不,你不需要正确的方法是,你创建config.js文件,并要求dotenv一次,把你所有的配置在它和导出你需要使用的其他文件,像这样。
index.js
config.js
并像索引中端口一样需要它
fcg9iug32#
只需在index.js中添加
require('dotenv')
,但在开始时添加。在您的示例中,当添加db模块时,还没有配置dotenv。vmjh9lq93#
通过调用
然后再导入Mongoose文件。