“ dotenv:采购'.env'文件时出错”?

每次我使用Terminal或iTerm2 cd特定目录(我正在运行Macos 10.14.5,Node 12.13.0)时,都会收到以下错误,似乎是在抱怨´.env。由我的团队提供给我的档案。他们没有得到错误。

.env:22: parse error near '}'  
dotenv: error when sourcing '.env' file 
.env:22: parse error near '}'

第22行,这似乎是导致错误的原因

COOKIE_SETTINGS={"isSecure": false,"isSameSite": false,"isHttpOnly": true,"encoding": "base64json","path": "/"}

有什么线索可以解决吗?感谢您的见解。

hanxuesong1988 回答:“ dotenv:采购'.env'文件时出错”?

您不能在.env文件中存储对象。 解决方案是: 字符串化JSON对象并另存为env变量。然后解析并在需要对象时使用它。

另一种解决方案是编写这样的变量:

COOKIE_SETTINGS_IS_SECURE = false
COOKIE_SETTINGS_IS_SAME_SITE = false
...
,

解析环境时,这似乎是错误。 我认为env在这种情况下只支持字符串或数字。 也许您可以在 .env

中使用
COOKIE_SETTINGS="{'isSecure': false,'isSameSite': false,'isHttpOnly': true,'encoding': 'base64json','path': '/'}"

在JS中,只需使用 JSON.parse 回到对象

cookieSettings= process.env.DB_HOST ? JSON.parse(process.env.DB_HOST) : null;
本文链接:https://www.f2er.com/3123147.html

大家都在问