使用Node.js构建适用于不同环境的应用程序

格罗菲特

从历史上看,在我从事的大多数大型项目中,我们都有某种构建脚本,由开发人员运行以设置其环境,例如设置iis,数据库迁移,模板化配置文件等。

由于每个环境都是不同的,我想一般有一组配置文件为每个环境,如dev.configqa.configrelease-candidate.config,然后在构建过程中运行时,它会使用<environment>.config文件,找出它的设置应该是什么。这样,我的开发环境就可以很好地构建,构建服务器也可以以自动化的方式很好地完成其工作。

无论如何,在.net中,我们都有可以模板化的配置文件(例如web.config),在nodejs世界中是否对此有任何想法?因为我想要一个文件,其中包含应用程序运行时所需的所有配置值,而无需将其放入应用程序代码中。

亚历山大·别列茨基(Alexander Beletsky)

实际上,您可以做到这一点很简单。只需将您的所有配置都放在.js文件中,例如

{
  mongodb: {
    connection: 'http://mongodb.com/mydb:12323/user/password',
    options: {
      keepConnection: true
    }
  },

  app: {
    deploymentKey: '1234'
  },

  // etc
}

因此,根据您所拥有的环境数量,您将拥有2-3个文件。

   /config/development.js
   /config/production.js
   /config/test.js
   /config/staging.js

环境类型通常由NODE_ENV变量公开然后,您将获得一个非常简单的模块,以加载配置:

var util = require('util');

var env = process.env.NODE_ENV || 'development';
var config = util.format('/%s.config.js', env);

module.exports = require(__dirname + config);

在这里签出一些真实的代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Visual Studio 2015构建适用于Windows 7和Windows 10的应用程序

来自分类Dev

适用于小型应用程序的Perl Dancer或Node.js

来自分类Dev

适用于小型应用程序的Perl Dancer或Node.js

来自分类Dev

适用于Web和移动应用程序的Node.js服务器

来自分类Dev

使用适用于Android应用程序的Google Map

来自分类Dev

AWS Elastic beanstalk Nginx配置不适用于我的Node.js Web应用程序

来自分类Dev

Newtonsoft JSON反序列化可在本地和实时环境中使用,但不适用于ASP.NET MVC应用程序的测试

来自分类Dev

IBM Worklight 6.0-无法在AVD上使用适用于Android环境的dojo工具箱运行示例混合Worklight应用程序?

来自分类Dev

适用于Rails 5 / Angular 2应用程序的Heroku Node Buildpack

来自分类Dev

React Native:使用Facebook登录名时,Android上独立的Expo构建的应用程序崩溃(适用于iOS)

来自分类Dev

使用新的 firebase 应用程序时 Google 登录失败,并且它适用于旧的 firebase 应用程序

来自分类Dev

使用winAPI BitBlt捕获故障的窗口仅适用于某些应用程序

来自分类Dev

适用于Android的Facebook SDK-获取使用我的应用程序的朋友

来自分类Dev

也使用适用于Web应用程序的Parse iOS SDK

来自分类Dev

在现有iOS应用程序中使用React Native仅适用于某些视图

来自分类Dev

适用于使用Facebook进行授权的移动应用程序的Laravel 5 API授权

来自分类Dev

使用Sublime Text 2开发适用于Android的Phonegap应用程序

来自分类Dev

我可以使用python开发适用于ubuntu touch的应用程序吗?

来自分类Dev

怎样使用JavaScript开发适用于Android的应用程序?

来自分类Dev

使用嵌入式 Tomcat 的 Web 应用程序仅适用于 IDE

来自分类Dev

在同一DigitalOcean Droplet上的节点和Rails应用程序上的Letsencrypt SSL。适用于rails,但不适用于node

来自分类Dev

Node.jsVS。适用于简单客户端应用程序的JavaFX(从服务器打印出消息)

来自分类Dev

Node.jsVS。适用于简单客户端应用程序的JavaFX(从服务器打印出消息)

来自分类Dev

Windows Linux子系统(WSL):我不能使用适用于Microsoft Windows的Ubuntu应用程序做什么?

来自分类Dev

哪个Java EE容器适用于使用EJB的Apache Camel / CXF / ActiveMQ Web应用程序?

来自分类Dev

不幸的是,应用程序已停止使用适用于Android的Google Map API V2

来自分类Dev

SQL查询可在SQL Server Management Studio中使用,但不适用于ASP.Net应用程序

来自分类Dev

对应用程序中的所有文本使用自定义字体,不适用于Lollipop

来自分类Dev

使用jQuery mobile和Phonegap开发适用于Android平台电话的完整日历应用程序

Related 相关文章

  1. 1

    使用Visual Studio 2015构建适用于Windows 7和Windows 10的应用程序

  2. 2

    适用于小型应用程序的Perl Dancer或Node.js

  3. 3

    适用于小型应用程序的Perl Dancer或Node.js

  4. 4

    适用于Web和移动应用程序的Node.js服务器

  5. 5

    使用适用于Android应用程序的Google Map

  6. 6

    AWS Elastic beanstalk Nginx配置不适用于我的Node.js Web应用程序

  7. 7

    Newtonsoft JSON反序列化可在本地和实时环境中使用,但不适用于ASP.NET MVC应用程序的测试

  8. 8

    IBM Worklight 6.0-无法在AVD上使用适用于Android环境的dojo工具箱运行示例混合Worklight应用程序?

  9. 9

    适用于Rails 5 / Angular 2应用程序的Heroku Node Buildpack

  10. 10

    React Native:使用Facebook登录名时,Android上独立的Expo构建的应用程序崩溃(适用于iOS)

  11. 11

    使用新的 firebase 应用程序时 Google 登录失败,并且它适用于旧的 firebase 应用程序

  12. 12

    使用winAPI BitBlt捕获故障的窗口仅适用于某些应用程序

  13. 13

    适用于Android的Facebook SDK-获取使用我的应用程序的朋友

  14. 14

    也使用适用于Web应用程序的Parse iOS SDK

  15. 15

    在现有iOS应用程序中使用React Native仅适用于某些视图

  16. 16

    适用于使用Facebook进行授权的移动应用程序的Laravel 5 API授权

  17. 17

    使用Sublime Text 2开发适用于Android的Phonegap应用程序

  18. 18

    我可以使用python开发适用于ubuntu touch的应用程序吗?

  19. 19

    怎样使用JavaScript开发适用于Android的应用程序?

  20. 20

    使用嵌入式 Tomcat 的 Web 应用程序仅适用于 IDE

  21. 21

    在同一DigitalOcean Droplet上的节点和Rails应用程序上的Letsencrypt SSL。适用于rails,但不适用于node

  22. 22

    Node.jsVS。适用于简单客户端应用程序的JavaFX(从服务器打印出消息)

  23. 23

    Node.jsVS。适用于简单客户端应用程序的JavaFX(从服务器打印出消息)

  24. 24

    Windows Linux子系统(WSL):我不能使用适用于Microsoft Windows的Ubuntu应用程序做什么?

  25. 25

    哪个Java EE容器适用于使用EJB的Apache Camel / CXF / ActiveMQ Web应用程序?

  26. 26

    不幸的是,应用程序已停止使用适用于Android的Google Map API V2

  27. 27

    SQL查询可在SQL Server Management Studio中使用,但不适用于ASP.Net应用程序

  28. 28

    对应用程序中的所有文本使用自定义字体,不适用于Lollipop

  29. 29

    使用jQuery mobile和Phonegap开发适用于Android平台电话的完整日历应用程序

热门标签

归档