2017-06-14 41 views
0

這裏是我的項目結構: project structureNPM dotenv環境變量模塊的NodeJS在不承認

的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" 
    }, 

主要文件是服務器/ 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'; 

服務器/配置/ index.js僅僅是導入其他配置文件每桶文件:

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

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

在每個配置文件,我不能夠訪問process.env對象的任何屬性,這些屬性定義在.env文件中。

下面是引用的配置文件中的一個:

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

這裏process.env.HOST是不確定的,但關鍵是存在於.ENV文件。

我做錯了什麼?

回答

1

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

請問您可以更具體地瞭解process.env文件嗎?

按照https://www.npmjs.com/package/dotenv#rules文件應採用以下格式:

VAR1=value1 
VAR2=value2 

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

,而不是