NodeJS无法识别.env文件

我有5个NodeJS服务正在运行,但是其中之一有问题。

这是nodemon.json文件:

{
  "watch": ["**/*.ts"],"ext": "ts,json","ignore": ["./test/*.ts"],"exec": "node -r ts-node/register -r dotenv/config Index.ts dotenv_config_path=$(pwd)/.env","env": {
    "NODE_ENV": "development"
  }
}

与其余服务相同。当我运行npm run dev时,会收到错误消息,具体取决于从.env文件获取的值,例如:

const LOCAL_CONFIGURATION = {
    PORT_APP: 8082,MONGODB: {
        SERVER: process.env.MONGO_DTE,AUTH: {
            auth: {
                password:process.env.MONGO_PASSWORD,user:process.env.MONGO_USER
            }
        },},MS_NOTIFICACION: "http://localhost:8089/notificacion",ELASTIC_PATH: process.env.ELASTIC_PATH,...COMMON,};

第一条错误消息是: ConfigurationError: Missing node(s) option 之所以产生该消息,是因为它没有从process.env.ELASTIC_PATH中读取值,但是如果我输入“ http://with.the.correct.url”这样的硬性值并再次尝试运行,则会收到另一个错误:

Error: Credentials must be provided when creating a service client 该错误是因为它试图读取password:process.env.MONGO_PASSWORDuser:process.env.MONGO_USER

等,因此,在读取.env文件时出现问题。我知道.env文件具有这些值,并且该文件位于UTF-8中,不带引号等。.env文件与其他服务相同,在其余服务中都可以正常工作,但是我不知道为什么这里不读。

有什么主意吗?

编辑:

NodeJS无法识别.env文件

另外,我在console.log(process.env);文件中放入了config.ts,它显示的值是这样的:

NodeJS无法识别.env文件

但是,例如,.env中没有值,在图片中有一个名为COMPUTERNAME的值,所以如果我将console.log(process.env.COMPUTERNAME);放进去,则会得到:IBM-NOT87

为什么没有获取.env文件?

tmroybq 回答:NodeJS无法识别.env文件

好像您需要要求/配置dotenvDocs

尽早在您的应用程序中,要求并配置dotenv。

require('dotenv').config()

,

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

在您使用环境变量的文件中, 尽早要求 "dotenv" 并在 config() 方法中指定 .env 文件的路径,即使它在您的根目录或节点启动的同一目录中。

要求和指定同目录中的文件的代码在答案的第一行。

此外,要进一步阅读?,您可以访问https://github.com/motdotla/dotenv#path

,

要进一步扩展@JBallin答案

您应该在getMedia(id: $id) { englishTitle romajiTitle description startDate popularity episodesCount countryOrigin status trailer duration tags { id name } genres { id name } episodes { id title links { id host alive chekedAt lang url } } animeImages { id link size type } }

上使用它
  • 或者,如果这不起作用,则需要将其显式添加到要使用这些变量的文件中

共享图像,因为有时更容易看到扩展 enter image description here

此处代码=>

app.js
本文链接:https://www.f2er.com/2510026.html

大家都在问