Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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中的process.env?_Javascript_Node.js_Express - Fatal编程技术网

Javascript 是否需要node.js中的process.env?

Javascript 是否需要node.js中的process.env?,javascript,node.js,express,Javascript,Node.js,Express,我有一个.env文件,它有 ABC='ABC' 当我在app.js中执行process.env.ABC时,我可以得到ABC值。我如何要求在模型文件中使用它?我在我的模型文件中做了同样的事情,它没有定义。我想我必须要它?你可以使用要求文件.env并在启动应用程序时存储在a变量中。一旦有了它,就可以将其作为方法参数传递,或者将模型包装在module.exports=(env)=>{return myModel;} 在express中,它类似于 const env = require('dotenv'

我有一个
.env
文件,它有

ABC='ABC'

当我在app.js中执行
process.env.ABC
时,我可以得到
ABC
值。我如何要求在模型文件中使用它?我在我的模型文件中做了同样的事情,它没有定义。我想我必须要它?

你可以使用
要求
文件
.env
并在启动应用程序时存储在a变量中。一旦有了它,就可以将其作为方法参数传递,或者将模型包装在
module.exports=(env)=>{return myModel;}

在express中,它类似于

const env = require('dotenv').config({path: 
'/custom/path/to/your/env'});

app.use((req, res, next) => {
  app.env =  env;
});

现在,您可以通过向模型传递
req
来访问
env
,并使用
req.app.get('env')
获取
env
,您应该使用类似dotenv的包从.env文件加载env变量。你在用这些吗?您必须npm安装dotenv,然后在任何需要的地方加载环境变量都需要相同的文件。这个.env东西有什么用?通常我只使用.json或.js,比如config.json或更好的config.js,只需要var config=require('config')。whateverKey;它们都有相同的目的,只是方法不同而已。我通常使用cfg/index.js,它在启动应用程序时被环境变量集覆盖。仅保留SCM.SCM中的cfg/index.js或dev变量意味着什么?源代码管理。变体有git、mercurial和svn。另外,如果我的答案解决了你的问题,别忘了接受它。@artziff-如果你能读到上面的内容,SCM与原始问题没有任何关系。如果不是,回答问题的人有权要求OP“在问题解决后接受答案”。