Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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
Javascript 在node.js中设置应用程序生产和开发模式_Javascript_Node.js - Fatal编程技术网

Javascript 在node.js中设置应用程序生产和开发模式

Javascript 在node.js中设置应用程序生产和开发模式,javascript,node.js,Javascript,Node.js,在我的节点应用程序中,我想在我的config.js文件中设置生产和开发 为此,我已经准备好了一切,但我仍然错过了一些东西 我想根据我的开发模式从配置文件中获取配置数据,比如数据库凭证。若我在live上上传,那个么应用程序将使用live cred。另一方面,若我使用本地的,那个么它应该是使用本地的cred module.exports = function () { console.log("Process env is ::: ", process.env.NODE_

在我的节点应用程序中,我想在我的
config.js
文件中设置生产和开发

为此,我已经准备好了一切,但我仍然错过了一些东西

我想根据我的开发模式从配置文件中获取配置数据,比如数据库凭证。若我在live上上传,那个么应用程序将使用live cred。另一方面,若我使用本地的,那个么它应该是使用本地的cred

module.exports = function () {
    console.log("Process env is ::: ", process.env.NODE_ENV);
    if (process.env.NODE_ENV == 'production') {
        return {
            db : {
                host:'localhost',
                batabase:'dbname',
                username:'',
                password:''
            }
        }   
    } else {
        return {
            db : {
                host:'localhost',
                batabase:'dbname',
                username:'',
                password:''
            }
        }
    }
};

我从这个过程中获取了ref。env是指在启动nodejs应用程序时存在的环境变量。(这是操作系统的一部分)

当您部署到云时,通常已经为您处理了(process.env.NODE\u env=production)。 一些云提供商甚至让您可以通过GUI来控制它

但对于本地环境,可以使用.dotenv包。()

使用此软件包,您可以在项目顶部创建一个.env文件

只需写下NODE_ENV=local/staging/production

请注意,您始终可以在shell中运行:

export NODE_ENV=production
(注意空格!) 在你开始之前,你的nodejs应用程序也会给你的效果 控制过程的定义

在其他文件中使用配置文件,只需按要求使用即可

const config = require('path/to/config.js');
然后config.data.host将根据节点的不同而改变,请尝试这种方法

module.exports = (function () {
  process.env.NODE_ENV='development';
  if(process.env.NODE_ENV === 'production'){
       // Config data of Live
  }else{
       //Config data of Local
  }
})()

这个对我有效。。)

你的问题是什么?@Mazki516我已经更新了我的问题。@khushboo我仍然无法从中过滤出一个特定的问题post@Kristianmitk我想在应用程序中设置动态配置值。为此,我设置了此代码。所以只要改变一个值,整个应用程序就会使用实时配置数据。我理解这一点,但这仍然没有揭示一个问题。换句话说:这篇文章的原因是什么?我只想在我的评论中使用otehr文件中的配置数据<代码>配置数据数据库