這篇文章主要介紹Node在不同環(huán)境下配置文件怎么用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),哈密企業(yè)網(wǎng)站建設(shè),哈密品牌網(wǎng)站建設(shè),網(wǎng)站定制,哈密網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,哈密網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。1. config-lite模塊
首先引入一個(gè)配置模塊config-lite,使用命令npm i config-lite --save安裝。
通常我們會(huì)針對(duì)不同的環(huán)境,將配置寫入不同的配置文件中,在Node項(xiàng)目下新建config目錄,里面新建不同環(huán)境的配置文件,這里我以『開發(fā)』以及『生產(chǎn)』兩個(gè)環(huán)境作為例子來講解如何操作。
開發(fā)環(huán)境中,我們?cè)赾onfig目錄下新建兩個(gè)文件:test.js和default.js,你可能會(huì)問,為啥沒有生產(chǎn)機(jī)配置文件,因?yàn)樯a(chǎn)機(jī)配置要在生產(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模塊,這個(gè)模塊是依據(jù)環(huán)境變量來選擇不同的配置文件的,所以在使用之前我們需要修改package.json里的啟動(dòng)命令:
"scripts": { "start": "NODE_ENV=production supervisor --harmony -i views/ ./bin/www", "test": "NODE_ENV=test supervisor --harmony -i views/ ./bin/www" },
可以看到,上面有兩條啟動(dòng)命令,一條是針對(duì)生產(chǎn)機(jī),設(shè)置了NODE_ENV=production
,一條是針對(duì)測(cè)試機(jī),設(shè)置了NODE_ENV=test
,當(dāng)我們使用npm test啟動(dòng)項(xiàng)目的時(shí)候,config-lite會(huì)去抓取test.js配置,并且會(huì)與default.js里配置去合并,如果有相同的對(duì)象,會(huì)覆蓋default.js里的配置。如上例子都有mysql的對(duì)象,那么這里會(huì)以test.js里的對(duì)象為準(zhǔn)。
好了,下面來介紹一下如何在項(xiàng)目中使用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 // 省略...
引入之后,可以直接使用配置文件中的配置對(duì)象。
2. 生產(chǎn)環(huán)境
那么在生產(chǎn)環(huán)境中,如何使用呢?上面已經(jīng)介紹了config-lite基本原理以及用法,在生產(chǎn)環(huán)境的時(shí)候,我們只需要在生產(chǎn)機(jī)環(huán)境中config目錄下新建production.js文件,然后使用啟動(dòng)命令npm start即可。
為了避免測(cè)試環(huán)境以及生產(chǎn)壞境配置文件混淆,可以通過.gitignore文件忽略配置文件,添加如下:
# config config/* !config/default.*
這樣,git會(huì)忽略除了default.js之外的配置文件,在本地開發(fā)環(huán)境中,可以創(chuàng)建多個(gè)配置文件測(cè)試使用,只需設(shè)置對(duì)應(yīng)的環(huán)境變量即可。需要注意的是環(huán)境變量名需同配置文件名一樣。
3. windows環(huán)境
也許你是一個(gè)多系統(tǒng)環(huán)境開發(fā)者,可能同時(shí)在Linux和windows環(huán)境下開發(fā),由于windows下設(shè)置環(huán)境的變量的語法不太一樣,所以可以在package.json啟動(dòng)命令中再加上兩句,如下:
"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配置文件,啟動(dòng)命令npm winStart;
如果部署在Linux或類Unix環(huán)境下,同樣是創(chuàng)建production.js,啟動(dòng)命令npm start即可。
以上是“Node在不同環(huán)境下配置文件怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。