Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejs模块中未识别npm dotenv环境变量_Node.js_Npm_Module_Environment Variables - Fatal编程技术网

Node.js nodejs模块中未识别npm dotenv环境变量

Node.js nodejs模块中未识别npm dotenv环境变量,node.js,npm,module,environment-variables,Node.js,Npm,Module,Environment Variables,以下是我的项目结构: 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", "buil

以下是我的项目结构:

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"
   },
import dotenv from 'dotenv';
import path from 'path';

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

import _ from 'underscore';
import configs from './config/index';
主文件是服务器/boot.js:

  "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"
   },
import dotenv from 'dotenv';
import path from 'path';

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

import _ from 'underscore';
import configs from './config/index';
服务器/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文件

根据要求,文件应采用以下格式:

VAR1=value1
VAR2=value2
而不是在

export default { 
    VAR1: 'value1', 
    VAR2: 'value2' 
}
在.env文件中定义的process.env对象

能否请您更详细地介绍process.env文件

根据要求,文件应采用以下格式:

VAR1=value1
VAR2=value2
而不是在

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

需要注意的是,
dotenv
包不允许在行的开头使用可选的
export
,这与大多数其他实现不同。这让我大吃一惊,作者明确拒绝了将程序包与其他语言保持一致的请求。需要注意的是,
dotenv
程序包不允许在行的开头使用可选的
导出,这与几乎所有其他实现所做的都不同。这让我大吃一惊,作者明确拒绝了使包与其他语言保持一致的请求。