欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node實戰(zhàn)之不同環(huán)境下配置文件使用教程

 更新時間:2018年01月02日 11:46:57   作者:魯鵬  
這篇文章主要給大家介紹了關(guān)于Node實戰(zhàn)之不同環(huán)境下配置文件使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

在使用 Node.js 編寫一個完整的項目時,程序中往往需要用到一些可配置的變量,從而使得程序能在不同的環(huán)境中運行,而眾所周知,在實際的項目會存在多個不同的環(huán)境,不同的環(huán)境下,一些配置是不相同的,如何在不同的環(huán)境下調(diào)用不同的配置,提高開發(fā)效率?下面話不多說了,來一起看看詳細的介紹吧。

1. config-lite模塊

首先引入一個配置模塊config-lite,使用命令npm i config-lite --save安裝。

通常我們會針對不同的環(huán)境,將配置寫入不同的配置文件中,在Node項目下新建config目錄,里面新建不同環(huán)境的配置文件,這里我以『開發(fā)』以及『生產(chǎn)』兩個環(huán)境作為例子來講解如何操作。

開發(fā)環(huán)境中,我們在config目錄下新建兩個文件:test.js和default.js,你可能會問,為啥沒有生產(chǎn)機配置文件,因為生產(chǎn)機配置要在生產(chǎn)環(huán)境下再創(chuàng)建嘛。

在test.js配置文件中寫入代碼如下(PS. 這里以mysql的配置為例):

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

default.js里寫入一些默認(rèn)的配置文件,例如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模塊,這個模塊是依據(jù)環(huán)境變量來選擇不同的配置文件的,所以在使用之前我們需要修改package.json里的啟動命令:

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

可以看到,上面有兩條啟動命令,一條是針對生產(chǎn)機,設(shè)置了NODE_ENV=production,一條是針對測試機,設(shè)置了NODE_ENV=test,當(dāng)我們使用npm test啟動項目的時候,config-lite會去抓取test.js配置,并且會與default.js里配置去合并,如果有相同的對象,會覆蓋default.js里的配置。如上例子都有mysql的對象,那么這里會以test.js里的對象為準(zhǔn)。

好了,下面來介紹一下如何在項目中使用config-lite模塊,在app.js里代碼如下:

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

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

2. 生產(chǎn)環(huán)境

那么在生產(chǎn)環(huán)境中,如何使用呢?上面已經(jīng)介紹了config-lite基本原理以及用法,在生產(chǎn)環(huán)境的時候,我們只需要在生產(chǎn)機環(huán)境中config目錄下新建production.js文件,然后使用啟動命令npm start即可。

為了避免測試環(huán)境以及生產(chǎn)壞境配置文件混淆,可以通過.gitignore文件忽略配置文件,添加如下:

# config
config/*
!config/default.*

這樣,git會忽略除了default.js之外的配置文件,在本地開發(fā)環(huán)境中,可以創(chuàng)建多個配置文件測試使用,只需設(shè)置對應(yīng)的環(huán)境變量即可。需要注意的是環(huán)境變量名需同配置文件名一樣。

3. windows環(huán)境

也許你是一個多系統(tǒng)環(huán)境開發(fā)者,可能同時在Linux和windows環(huán)境下開發(fā),由于windows下設(shè)置環(huán)境的變量的語法不太一樣,所以可以在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環(huán)境下,在config目錄下新建production.js配置文件,啟動命令npm winStart;如果部署在Linux或類Unix環(huán)境下,同樣是創(chuàng)建production.js,啟動命令npm start即可。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論