什么是app.configure('production')

时间:2012-10-26 12:05:24

标签: node.js express

我是NodeJS的新手,如何处理Express文档中给出的以下设置?

app.configure('production', function(){
  app.set('db uri', 'n.n.n.n/prod');
});

我应该复制粘贴还是需要更改'db.uri'和'n.n.n.n'?

3 个答案:

答案 0 :(得分:4)

我们的想法是,您将为生产与开发设定不同的值。在这种情况下,对app.set()的调用有两个参数key和value。由您来定义哪些键及其对应的值对您的应用程序有意义。

您可能会遇到以下情况:

app.configure('production', function(){
  app.set('db uri', 'bigdbserver/invoiceDB');
  app.set('log level', 'warningsOnly');
});

app.configure('development', function(){
  app.set('db uri', 'mylocalbox/invoiceDB');
  app.set('log level', 'verbose');
});

更新:根据Herman Junge的建议添加:

根据Express文档,app.configure将与您的NODE_ENV变量匹配。这样,您可以在命令行或应用程序内部以两种方式进行设置:

命令行

$ NODE_ENV =开发节点app.js

在我的应用内

process.env.NODE_ENV ='development';

答案 1 :(得分:4)

他们是应用程序设置,生产是在将应用程序部署到实时服务器时要使用的设置,您还可以创建用于开发的app.configure。这些应该是数据库连接字符串,记录器,以及在开发环境中不同的东西。

快速谷歌搜索会带来一些东西,例如某人想要如何使用它:

Another SO post on settings

HTH

答案 2 :(得分:2)

看一下快递documentation。它有一个关于app.configure功能如何工作的很好的例子。它是用于检查NODE_ENV环境变量的语法糖。