node.js - 即使设置正确,NODE_ENV 也未定义

标签 node.js

我有一个 util/config.json 文件,如下所示:

{
"dev": {
    "db": {
        "host": "localhost",
        "user": "root",
        "pass":"*****"

      },

    "json_indentation": 4,
    "database": "my-app-db-dev"
}
"prod":{
    "db": {
        "host": "somethingt",
        "user": "root",
        "pass":"****"

      },

    "json_indentation": 4,
    "database": "my-app-db-dev"
}

}

util/config.js 文件中,我已将其导出到我的 app.js

const config = require('./config.json')
const environment = process.env.NODE_ENV || 'dev'

const defaultConfig = config.environment;
console.log(defaultConfig)  // shows undefined why?
module.exports = defaultConfig

app.js 就像这样:

const express = require('express')
const config = require('./util/config')

但我的defaultConfig显示未定义,并且无法获取dev的数据(npm run dev in app.js directory)我在 package.json 中设置了如下所示的 NODE_ENV 变量:

"scripts": {
        "dev": "set NODE_ENV=dev && nodemon app.js",
        "prod": "set NODE_ENV=prod && nodemon app.js"
    }

最佳答案

const defaultConfig = config.environment;config 中搜索 'environment' 字符串键。

尝试使用 const defaultConfig = config[environment]; 搜索 environment 变量的值。

参见Property accessors在 MDN 上。

关于node.js - 即使设置正确,NODE_ENV 也未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54651607/

相关文章:

javascript - node.js 南 : call JavaScript callback in C++ function

node.js - Nodejs postgres pg语法错误

node.js - 如何表达.logger()除了GET/favicon.ico之外的所有请求? (Nodejs/expressjs)

node.js - 设置 Express 的 cookie 默认值

angularjs - mongoose 中 $gt 的问题

javascript - 使用 Bluebird promise bcrypt-nodejs

javascript - 如何使用 npm 脚本缩小 Browserify 输出

javascript - 如何在 vscode 中查看全 Angular 代码

javascript - 如何包含适当的 JavaScript 文件版本(缩小版与原始版)?

node.js - Mongoose查询回调返回?