即使设置正确完成,NODE_ENV仍未定义

时间:2019-02-12 13:51:08

标签: 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在app.js目录中运行dev )在我的package.json中是这样的NODE_ENV变量:

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

2 个答案:

答案 0 :(得分:1)

您可以尝试按照以下代码段

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

答案 1 :(得分:1)

webView.loadData("<iframe src=\"https://www.facebook.com/20531316728/posts/10154009990506729/" width=\"500\" height=\"274\" style=\"border:none;overflow:hidden\" scrolling=\"no\" frameborder=\"0\" allowTransparency=\"true\" allow=\"encrypted-media\"></iframe>", "text/html", "UTF-8") webView.settings.javaScriptEnabled = true webView.settings.domStorageEnabled = true webView.settings.setSupportMultipleWindows(true) const defaultConfig = config.environment;中搜索一个'environment'字符串键。

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

请参阅Property accessors(关于MDN)。