问题标签 [dotenv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
365 浏览

vue.js - 在 chrome 开发工具上以调试模式启动 jest 测试时,不会加载 .env 文件中的环境变量

我在一个 vue.js 应用程序上工作,该应用程序用 jest 进行了测试。为了调试这些测试,我使用了这个命令node --inspect-brk node_modules/.bin/jest --runInBand --config test/jest.config.js,并且在 chrome 开发工具中一切正常。

后来我们在项目中引入了一些环境变量,使用dotenv设置了一些值(变量可以通过process.env访问),测试也可以正常运行,但是在附加调试器时,没有从.env文件中读取环境变量值。

如何在 vue.js 项目的 chrome 开发工具中运行/调试 jest 测试,该项目使用.env文件中描述的环境变量,通过process.env

0 投票
2 回答
3050 浏览

mysql - 未处理的拒绝 SequelizeDatabaseError: 未选择数据库

我在我的 Express.js 应用程序中使用 MySQL 的 sequelize。

所有数据库凭据都存储在 .env 文件中并且是正确的:

database.js 文件:

在用户模型中:

数据库“mydb”只有一个表“用户”,应用程序启动时,出现错误:

  1. 我试图用下面的代码测试 .env 文件,一切都是可读的:

    var config = require('dotenv').config(); 控制台日志(配置)

  2. 我试图在 db.defind() 中的“用户”前面添加数据库名称,但遇到了同样的问题。

请,如果您有任何建议,请告诉我。

0 投票
1 回答
695 浏览

javascript - 如何在 NodeJS/Express 应用程序中隐藏凭据?

我正在尝试创建一个在客户端机器上本地运行的 NodeJS 服务器。我拥有访问配置文件中的数据库的所有凭据,并使用 pkg 模块创建了一个 exe 文件,以便我的客户端可以运行 exe 文件并让服务器在他们的机器上运行。

我不希望我的客户获取凭据,但 exe 文件的源代码包含凭据。如何保护数据库凭据

0 投票
1 回答
5282 浏览

node.js - 为什么 dotenv 未在 docker 中加载但在主机中运行良好?

我想构建一个将运行我的 node.js 应用程序的 Docker 映像。我正在使用dotenv npm 包来存储环境变量。.env位于项目的根目录中。当我运行npm run start_in_docker从主机启动应用程序()的 npm 脚本时,一切正常。但是,当我运行 Docker 容器时,出现以下错误:

这是我的 Dockerfile:

这是我的 docker-compose.yml 文件,它运行上面的 Dockerfile:

这是我的 package.json 脚本部分:

这就是我dotenv在 main.js 文件中的要求:

我尝试指定绝对路径,('dotenv').config()但没有奏效。奇怪的是,如果我运行容器 shell ( docker run -it myimage /bin/ash) 然后运行npm run start_in_docker它也可以工作。dotenv当然在我的 package.json 中。

0 投票
1 回答
1982 浏览

javascript - nestJs 处理环境变量

如文档here中所述,我将在nestjs中配置enivrement变量:

在我的服务构造函数中,我得到了 env 文件路径

然后在配置模块中我设置配置服务

当前行为

实际上我得到了未定义的 process.env.NODE_ENV 值

预期行为

在 process.env.NODE_ENV 中获取环境变量路径

0 投票
1 回答
148 浏览

python - 使用带有 python-dotenv 的 `cat` 向 env 添加凭据

使用 python-dotenv 时,我试图将我的凭据放入 env 中。我以前用过

在我的 .zshrc 文件中。

我曾尝试cat像以前一样使用该命令,但它被保存为字符串。

打印它会导致将字符串值cat $PATH_TO_CREDS保存到 env 变量中。

我用不同的引号和不带引号的方式尝试过。

这是我在我的主要称为 python 文件中的代码。

我的 .env 文件是

这个。

我希望os.getenv('CREDS')生成一个包含我的凭据的 json 格式文件。可悲的是它只返回命令的字符串。

0 投票
1 回答
11446 浏览

node.js - 在 VS Code-debugger 中,如何在 launch.json 中为 nodejs 使用 envFile?

我正在尝试在我的 nodejs 应用程序的 VS Code 中运行调试器。我正在使用 .env 文件来存储稍后使用 process.env 调用的环境变量。当我查找 launch.json 的 VS Code 文档时,它提到了加载 .envFile 的 envFile 选项。不幸的是,当我运行调试器时,这并没有加载文件。

启动.json:

.env:

当我运行 VS Code 调试器时,我的 .env 文件中没有环境变量。我应该如何调用launch.json 中的.env 文件?


我应该添加一些更多的信息,我让它工作了:

我最终使我的 .env 文件成为环境变量列表

.env 文件示例:

在我的 nodejs 世界构造函数中,我包括

world.js 示例:

在我使用的 hook.js 中:

我保持 launch.json 相同。

0 投票
1 回答
2496 浏览

node.js - Nodemailer SMTP 在生产服务器上不起作用

我在通过 nodemailer 发送电子邮件时遇到问题 - 生产中的 SMTP(来自另一台主机)

我在服务器(Scaleway Dev)上上传了我的 API,我正在使用 Ubuntu Bionic,并且在测试时注意到它没有发送电子邮件(我需要验证用户)。

起初我以为请求没有到达服务器,但是当我尝试登录时,我得到了“确认您的密码”响应,我检查了 mongoDB 数据库并且用户在那里,但仍然没有确认电子邮件。

我尝试在 localhost 上检查它,认为它可能是 dotenv 依赖项,但它在那里工作,有什么用?

我的服务器上的节点版本是8.10.0 ,我的个人计算机上的节点版本是11.12.0

这些是我的依赖

这些使用的选项由我正在使用的主机指定

我正在使用此电子邮件生成器 ( https://generator.email/ ) 来快速发送一次性电子邮件。我保存用户后开始发送邮件。

我对我应该做什么感到困惑......感谢任何和所有帮助

0 投票
0 回答
8933 浏览

javascript - TypeError:使用带有 fetch 的 env 文件仅支持绝对 URL

我正在尝试使用 node-fetch 来执行 GET 请求。我正在使用 dotenv 获取 url,但是 fetch 检索我TypeError: Only absolute URLs are supportedURL_ENV变量不是未定义的

URL_ENV如果我用.env 文件内部的内容更改 url 变量,它就可以工作

0 投票
1 回答
351 浏览

node.js - 是否可以将一个 .env 文件用于单个存储库?

我正在处理的项目在子文件夹中有多个节点模块,现在我如何构建它似乎 dotenv 无法.env在根目录中找到该文件。这使得process.env变量undefined。有什么方法可以让所有目录都可以访问环境变量?

我尝试将文件放在require('dotenv').config();文件的顶部,甚至尝试添加一个脚本以在根目录下的 jest.config 中运行它。所有结果在undefined.