首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使dotenv与javascript es6“导入”进行适当的配置?

如何使dotenv与javascript es6“导入”进行适当的配置?
EN

Stack Overflow用户
提问于 2022-08-06 07:47:49
回答 2查看 137关注 0票数 -3

我更改了我的设置,以使用es6模块,并试图使dotenv工作。

我的文件夹结构是这样的:

服务器server.js和config.env

server/db/conn.js .db

在conn.js中

代码语言:javascript
运行
复制
import * as dotenv from 'dotenv'

dotenv.config({ path: './config'})

但是我希望config.env位于server/db中,而不是我的服务器根文件夹中。即使它现在不在根文件夹中工作。

我读到了所有的内容--把env放在与服务器相同的文件夹中,这就是它,但是我一直把它拿回来。

代码语言:javascript
运行
复制
The `uri` parameter to `openUri()` must be a string, got "undefined"

所以它没有使用我的env。我尝试将conn.js、server.js、config.js放在同一个文件夹中,省略"path:“部分,只执行dotenv.config(),但结果是相同的。

它在前面的“要求”和设置路径的方法中运行得很好,但是我切换到了es6模块,这样就不能再工作了。

我读过很多关于这方面的文章,但都不起作用。

EN

回答 2

Stack Overflow用户

发布于 2022-08-06 08:03:13

显然你不能说出env文件的名字。当我使用Require方法时,我将文件命名为"config.env“,它可以很好地使用该方法。

使用es6导入方法,这似乎不起作用。我读过的所有文档都没有提到不给文件命名什么的。所以我把它命名为".env“,现在它起作用了。

票数 0
EN

Stack Overflow用户

发布于 2022-08-06 08:27:12

您需要将完整文件名传递给path选项。(config.env而不仅仅是config)

files in project dir

代码语言:javascript
运行
复制
$ ls -a1
main.js
.env
.env.production
<-- truncated -->

.env.production

代码语言:javascript
运行
复制
PORT=8000
NODE_ENV=production

main.js

代码语言:javascript
运行
复制
import dotenv from 'dotenv'

dotenv.config({ path: './.env.production' })

console.log(process.env.NODE_ENV, process.env.PORT)

output

代码语言:javascript
运行
复制
production 8000
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73258036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档