脚本宝典收集整理的这篇文章主要介绍了

不同环境下配置文件使用 – Node实战

脚本宝典小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助你少写一行代码,多一份安全和惬意。

在实际的项目会存在多个不同的环境,不同的环境下,一些配置是不相同的,如何在不同的环境下调用不同的配置,提高开发效率?

1. config-lite模块

首先引入一个配置模块config-lite,使用命令npm i config-lite --save安装。

通常我们会针对不同的环境,将配置写入不同的配置文件中,在Node项目下新建config目录,里面新建不同环境的配置文件,这里我以『开发』以及『生产』两个环境作为例子来讲解如何操作。

开发环境中,我们在config目录下新建两个文件:test.jsdefault.js,你可能会问,为啥没有生产机配置文件,因为生产机配置要在生产环境下再创建嘛。

test.js配置文件中写入代码如下(PS. 这里以mysql的配置为例):

// test.js module.exports = {   mysql : {     host: "localhost",     user: "lupeng",     password: "080910",     database: "b1imd"   } };

default.js里写入一些默认的配置文件,例如session的配置等。

// default.js module.exports = {   mysql : {     host: "10.20.141.220",     user: "lupeng",     password: "123456",     database: "b1imd"   },   session: {     secret: 'keyboard cat',     resave: false,     saveUninitialized: true,     cookie: {       maxAge: 1000*60*60     }   } };

好了,配置文件写好了,如何使用呢?这里我们使用的 config-lite模块,这个模块是依据环境变量来选择不同的配置文件的,所以在使用之前我们需要修改package.json里的启动命令:

"scripts": {     "start": "NODE_ENV=production supervisor --harmony -i views/ ./bin/www",     "test": "NODE_ENV=test supervisor --harmony -i views/ ./bin/www"   },

可以看到,上面有两条启动命令,一条是针对生产机,设置了NODE_ENV=production,一条是针对测试机,设置了NODE_ENV=test,当我们使用npm test启动项目的时候,config-lite会去抓取test.js配置,并且会与default.js里配置去合并,如果有相同的对象,会覆盖default.js里的配置。如上例子都有mysql的对象,那么这里会以test.js里的对象为准。

好了,下面来介绍一下如何在项目中使用config-lite模块,在app.js里代码如下:

// 省略... var config = require('config-lite')(__dirname); // 省略... app.use(session(config.session)); console.log("mysql服务器:" + config.mysql.host);    // display mysql-config // 省略...

引入之后,可以直接使用配置文件中的配置对象。

2. 生产环境

那么在生产环境中,如何使用呢?上面已经介绍了config-lite基本原理以及用法,在生产环境的时候,我们只需要在生产机环境中config目录下新建production.js文件,然后使用启动命令npm start即可。

为了避免测试环境以及生产坏境配置文件混淆,可以通过.gitignore文件忽略配置文件,添加如下:

# config config/* !config/default.*

这样,git会忽略除了default.js之外的配置文件,在本地开发环境中,可以创建多个配置文件测试使用,只需设置对应的环境变量即可。需要注意的是环境变量名需同配置文件名一样。

3. windows环境

也许你是一个多系统环境开发者,可能同时在Linuxwindows环境下开发,由于windows下设置环境的变量的语法不太一样,所以可以在package.json启动命令中再加上两句,如下:

"scripts": {     "start": "NODE_ENV=production supervisor --harmony -i views/ ./bin/www",     "test": "NODE_ENV=test supervisor --harmony -i views/ ./bin/www",     "winStart": "SET NODE_ENV=production&&supervisor --harmony -i views/ ./bin/www",     "winTest": "SET NODE_ENV=test&&supervisor --harmony -i views/ ./bin/www"       }

这样,如果部署在windows环境下,在config目录下新建production.js配置文件,启动命令npm winStart;如果部署在Linux类Unix环境下,同样是创建production.js,启动命令npm start即可。


更多内容请访问:LP's Blog

总结

以上是脚本宝典为你收集整理的

不同环境下配置文件使用 – Node实战

全部内容,希望文章能够帮你解决

不同环境下配置文件使用 – Node实战

所遇到的程序开发问题,欢迎加入QQ群277859234一起讨论学习。如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典网站推荐给程序员好友。 本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。

80%的人都看过