簡體   English   中英

Node.js模塊無法識別npm dotenv環境變量

[英]npm dotenv environment variables not recognized in nodejs module

這是我的項目結構: 項目結構

package.json

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "dev": "nodemon $NODE_DEBUG_OPTION server/boot.js --exec babel-node",
     "start": "nodemon server/boot.js --exec babel-node",
     "build": "babel server -d dist/server",
     "serve": "node dist/server/boot.js"
   },

主文件是server / boot.js

import dotenv from 'dotenv';
import path from 'path';

dotenv.load({path: path.join(__dirname, '.env')});

import _ from 'underscore';
import configs from './config/index';

server / config / index.js只是一個導入其他配置文件的桶文件:

import app from './app';
import database from './database';

export default Object.assign({}, app, database);

在每個配置文件中,我都無法訪問.env文件中定義的process.env對象的任何屬性。

這是供參考的配置文件之一:

export default  {
    app: {
        host: process.env.HOST || 'localhost',
        port: process.env.PORT || 9000,
    }
}

這里process.env.HOST是未定義的,但是密鑰存在於.env文件中。

我做錯了什么?

.env文件中定義的process.env對象。

您能否更詳細地了解process.env文件?

根據https://www.npmjs.com/package/dotenv#rules ,文件應采用以下格式:

VAR1=value1
VAR2=value2

而不是

export default { 
    VAR1: 'value1', 
    VAR2: 'value2' 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM