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“在问题解决后接受答案”。