📜  无法在默认路径找到 .env 文件:[. .env,. .env.js,. .env.json] - Javascript (1)

📅  最后修改于: 2023-12-03 15:10:26.219000             🧑  作者: Mango

无法在默认路径找到 .env 文件:[. .env,. .env.js,. .env.json] - Javascript

在Javascript项目中,经常使用类似dotenv这样的工具来读取和使用环境变量。而.env文件则是dotenv工具默认读取的配置文件。

然而,有时我们会遇到如下错误:

Error: Failed to load .env file at path /path/to/project/.env
    at dotenvLoad (index.js:95)
    ……

这是因为dotenv工具默认会在当前路径下查找名为“.env”的文件。而在某些情况下,这个文件可能不在当前路径下。

此时我们可以按照如下步骤来解决这个问题:

  1. 检查.env文件是否存在:首先确保.env文件确实存在于项目的根目录下。
  2. 修改dotenv配置文件:如果.env文件确实存在,但dotenv还是无法找到,那么就需要修改dotenv的配置文件。默认情况下,dotenv会在以下路径下查找.env文件:
  • .env
  • .env.js
  • .env.json

可以使用dotenv.config()方法显式指定.env文件的路径:

require('dotenv').config({path: '/full/custom/path/to/your/env/vars'})

这样dotenv就会在指定的路径下查找.env文件。

  1. npm scripts:如果您在package.json文件中定义了npm脚本,则可以在其中包含环境变量,而无需使用dotenv:
{
  "scripts": {
    "start:dev": "NODE_ENV=development node app.js",
    "start:prod": "NODE_ENV=production node app.js"
  }
}

这样在执行"npm start:dev"时,NODE_ENV就会被设置为“ development”,而在执行“npm start:prod”时,NODE_ENV则会被设置为“ production”。

通过以上方法,就可以解决“无法在默认路径找到 .env 文件”的问题。