标签: dotenv

运行脚本时抛出找不到模块“dotenv”

在加载.env文件以将 env 值传递给getToken.jscypress 根文件夹中的脚本时,会抛出无法找到模块 'dotenv' 错误。我已经安装了npm install dotenv. 有人可以告诉我在这里缺少什么吗?.env文件位于 cypress 根文件夹中。

环境:Windows 10 > git bash /命令提示符

    const puppeteer = require("puppeteer");
    require('dotenv').config({path: '.env'})
    
    const baseURL = process.env.CYPRESS_BASE_URL
    const testsUser = process.env.CYPRESS_TESTS_USERNAME
puppeteer
  .launch({ headless: true, chromeWebSecurity: false, args: ['--no-sandbox'] })
  .then(async browser => {
    const page = await browser.newPage();
    await page.goto(`${baseURL}/login`);

    await page.waitFor(2000);
    await page.waitForSelector("input[name=username]");
    await page.type("input[name=username]", testsUser , {
      delay: 50
    });

    browser.close();
  });
Run Code Online (Sandbox Code Playgroud)

包.json

"scripts": {
    "cy:run": "cypress run",
    "get-token-main": …
Run Code Online (Sandbox Code Playgroud)

puppeteer cypress dotenv

17
推荐指数
3
解决办法
4万
查看次数

flutter_dotenv 出现 FileNotFoundError

我使用以下命令安装了 flutter_dotenv:

flutter pub add flutter_dotenv
Run Code Online (Sandbox Code Playgroud)

我的 pubspec.yaml 是这样的:

dependencies:
  flutter:
    flutter_dotenv: ^5.0.0

flutter:
assets:
    - .env
Run Code Online (Sandbox Code Playgroud)

然后我将 .env 文件放入项目根目录中(稍后我将使用 .env.dev..env.prd,以便您在屏幕截图中看到它们):

在此输入图像描述

我从 VSCode 运行项目然后得到 FileNotFoundError: 在此输入图像描述

我检查了 .env 文件位置数百次,尝试更改文件名,将位置更改为 /lib 等 - 仍然没有运气。任何想法?

flutter dotenv

17
推荐指数
1
解决办法
5165
查看次数

dotenv文件未加载环境变量

我在根文件夹文件中有.env 文件

NODE_ENV=development
NODE_HOST=localhost
NODE_PORT=4000
NODE_HTTPS=false
DB_HOST=localhost
DB_USERNAME=user
DB_PASSWORD=user
Run Code Online (Sandbox Code Playgroud)

server.jsroot/app/config/server.js文件夹中存档.第一行server.js文件是

require('dotenv').config();

我也试过以下:

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

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

但是,当我server.js命令提示符运行该文件时,我的env变量未加载

node root/app/config/server.js

如果我使用visual studio并按下F5,它会加载!

我不确定我做错了什么,我错过了什么.任何建议都非常感谢.谢谢.

javascript node.js dotenv

15
推荐指数
14
解决办法
2万
查看次数

如何在 VSCode 设置中将文件关联设置为自定义 .env 文件名?

我有一个.envDEV用于开发环境变量的文件名。

并且 VSCode 不将其识别为dotenv文件。

在此输入图像描述

如果我更改文件的语言模式,它似乎可以工作(应用正确的样式,但图标不会改变)。但每当我关闭并重新打开文件时它就会消失。

在此输入图像描述

我正在尝试为此设置自定义文件关联,但到目前为止尚未成功。

seetings.json

"files.associations": {
  "*.envDEV": "dotenv"      // DOES NOT WORK
  "*.envDEV": ".env"        // DOES NOT WORK
},
Run Code Online (Sandbox Code Playgroud)

有人知道怎么做这个吗?

file-type environment-variables file-association visual-studio-code dotenv

14
推荐指数
3
解决办法
9914
查看次数

如何从 vitest 测试访问我的 .env 变量?

我正在尝试将我的测试从 jest 迁移到 vitest。我有一个测试套件,它使用 dotenv 包来提取我的 .env 变量。

我的测试套件中有这个

beforeAll(async () => {
        vi.clearAllMocks();
        cleanUpMetadata();
        dotenv.config();
        controller = new UserController(container.get<UserServiceLocator>(Symbol.for("UserServiceLocator")),
            container.get<EmailServiceLocator>(Symbol.for("EmailServiceLocator")));
    });
Run Code Online (Sandbox Code Playgroud)

这是测试中具有未定义变量的代码

let requestObj = httpMocks.createRequest({
            cookies: {
                token: jwt.sign({ username: "testusername" }, process.env.JWT_SECRET_KEY!)
            }
        });
Run Code Online (Sandbox Code Playgroud)

为了让我的 .env 变量可访问,我必须做一些特别的事情吗?

dotenv vitest

14
推荐指数
2
解决办法
1万
查看次数

在 .env 文件中存储私有值是否安全?

我正在尝试使用 express 框架构建 node.js 服务器,并且我想在我的服务器中存储管理 API 的私钥。
我现在使用 .env 文件来存储这些值,并在我的路由中通过调用 like 来使用这些值process.env.ADMIN_KEY

问题
处理私人数据的方式安全吗?或者还有比这更好的方法?

security node.js express dotenv

13
推荐指数
2
解决办法
1万
查看次数

剧作家测试 - 使用 .env 文件中的变量

我已经使用 TypeScript 编写了 Playwright 测试,并且想在测试文件中使用 .env 中的变量,我该怎么做?

typescript dotenv playwright playwright-test

13
推荐指数
1
解决办法
3万
查看次数

NestJs:无法读取模块文件中的环境变量但可以读取服务文件?

我的.envNestJs 项目的根目录中有一个文件,其中包含一些 env 变量。

奇怪的是,我能够读取服务文件中的变量,但不能读取模块文件中的变量。

所以在像这样的服务文件中users.service.ts,这有效:

saveAvatar() {
    const path = process.env.AVATAR_PATH    // returns value from .env
}
Run Code Online (Sandbox Code Playgroud)

但是,当访问模块文件中的路径时,如auth.module.ts,这将返回一个空值:

@Module({
    imports: [
       JwtModule.register({
          secretOrPrivateKey: process.env.SECRET   // process.env.SECRET returns an empty string
       })
    ]
})
Run Code Online (Sandbox Code Playgroud)

为什么呢?如何.env在 NestJs 中可靠地访问文件中的环境变量?

javascript node.js typescript nestjs dotenv

12
推荐指数
4
解决办法
8870
查看次数

找不到模块:错误:无法解析 node_modules\dotenv\lib' 中的 'fs'

我正在尝试使用带角度的 dotenv,但是当涉及到需要 dotenv 时

 require('dotenv').config()  
 or
 const Dotenv = require('dotenv-webpack');
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

./node_modules/dotenv/lib/main.js 中的错误未找到模块:错误:无法解析 'C:\Users\57322\Favorites\Proyecto\core4edu\node_modules\dotenv\lib' 中的 'fs'

包.json

"dotenv": "^8.2.0",
"dotenv-webpack": "^1.7.0",
Run Code Online (Sandbox Code Playgroud)

angular dotenv

12
推荐指数
4
解决办法
1万
查看次数

环境变量未更新

我正在使用 dotenv 包。我有一个保存在 .env 文件中的密钥,但我将其更新为新密钥,但我的脚本仍然输出旧密钥。我的根目录中有“.env”文件。

我认为通过使用 load_dotenv() ,它可以及时获取新密钥(无论它们处于当前状态)并将其保存以在脚本中使用。我究竟做错了什么?

import os
from dotenv import load_dotenv
import praw
load_dotenv()


reddit = praw.Reddit(client_id=os.getenv('reddit_personal_use'),
                     client_secret=os.getenv('reddit_api_key'),
                     user_agent=os.getenv('reddit_app_name'),
                     username=os.getenv('reddit_username'),
                     password=os.getenv('reddit_pw'))
Run Code Online (Sandbox Code Playgroud)

python api python-3.x praw dotenv

12
推荐指数
1
解决办法
5630
查看次数