最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

1. config-lite模塊

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

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

開(kāi)發(fā)環(huán)境中,我們?cè)赾onfig目錄下新建兩個(gè)文件:test.js和default.js,你可能會(huì)問(wèn),為啥沒(méi)有生產(chǎn)機(jī)配置文件,因?yàn)樯a(chǎn)機(jī)配置要在生產(chǎn)環(huán)境下再創(chuàng)建嘛。

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

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

default.js里寫(xiě)入一些默認(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
 }
 }
};

好了,配置文件寫(xiě)好了,如何使用呢?這里我們使用的 config-lite模塊,這個(gè)模塊是依據(jù)環(huán)境變量來(lái)選擇不同的配置文件的,所以在使用之前我們需要修改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)。

好了,下面來(lái)介紹一下如何在項(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)壞境配置文件混淆,可以通過(guò).gitignore文件忽略配置文件,添加如下:

# config
config/*
!config/default.*

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

3. windows環(huán)境

也許你是一個(gè)多系統(tǒng)環(huán)境開(kāi)發(fā)者,可能同時(shí)在Linux和windows環(huán)境下開(kāi)發(fā),由于windows下設(shè)置環(huán)境的變量的語(yǔ)法不太一樣,所以可以在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或類(lèi)Unix環(huán)境下,同樣是創(chuàng)建production.js,啟動(dòng)命令npm start即可。

總結(jié)

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

相關(guān)文章

  • 分享五個(gè)Node.js開(kāi)發(fā)的優(yōu)秀實(shí)踐?

    分享五個(gè)Node.js開(kāi)發(fā)的優(yōu)秀實(shí)踐?

    這篇文章主要介紹了分享五個(gè)Node.js開(kāi)發(fā)的優(yōu)秀實(shí)踐,文章圍繞主題展開(kāi)詳細(xì)的分享內(nèi)容,需要的小伙伴可以參考一下,希望對(duì)你的工作有所幫助
    2022-04-04
  • Nodejs?Docker鏡像體積優(yōu)化實(shí)踐詳解

    Nodejs?Docker鏡像體積優(yōu)化實(shí)踐詳解

    這篇文章主要為大家介紹了Nodejs?Docker鏡像體積優(yōu)化實(shí)踐示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • 輕松創(chuàng)建nodejs服務(wù)器(2):nodejs服務(wù)器的構(gòu)成分析

    輕松創(chuàng)建nodejs服務(wù)器(2):nodejs服務(wù)器的構(gòu)成分析

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(2):nodejs服務(wù)器的構(gòu)成分析,本文是對(duì)第一節(jié)中簡(jiǎn)單服務(wù)器的代碼進(jìn)行分析總結(jié),需要的朋友可以參考下
    2014-12-12
  • node.js中的events.EventEmitter.listenerCount方法使用說(shuō)明

    node.js中的events.EventEmitter.listenerCount方法使用說(shuō)明

    這篇文章主要介紹了node.js中的events.EventEmitter.listenerCount方法使用說(shuō)明,本文介紹了events.EventEmitter.listenerCount的方法說(shuō)明、語(yǔ)法、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 基于node打包可執(zhí)行文件工具_(dá)Pkg使用心得分享

    基于node打包可執(zhí)行文件工具_(dá)Pkg使用心得分享

    下面小編就為大家分享一篇基于node打包可執(zhí)行文件工具_(dá)Pkg使用心得分享,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 使用express獲取微信小程序二維碼小記

    使用express獲取微信小程序二維碼小記

    這篇文章主要介紹了使用express獲取微信小程序二維碼小記,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Npm link的作用與使用示例代碼

    Npm link的作用與使用示例代碼

    npm link可以幫助我們模擬包安裝后的狀態(tài),它會(huì)在系統(tǒng)中做一個(gè)快捷方式映射,讓本地的包就好像 install 過(guò)一樣,可以直接使用,這篇文章主要介紹了Npm link的作用與使用示例代碼,需要的朋友可以參考下
    2023-01-01
  • NodeJs測(cè)試框架Mocha的安裝與使用

    NodeJs測(cè)試框架Mocha的安裝與使用

    本文全面介紹如何使用Mocha,讓你輕松上手。如果你以前對(duì)測(cè)試一無(wú)所知,本文也可以當(dāng)作JavaScript單元測(cè)試入門(mén)。
    2017-03-03
  • Node快速切換版本、版本回退(降級(jí))、版本更新(升級(jí))

    Node快速切換版本、版本回退(降級(jí))、版本更新(升級(jí))

    這篇文章主要介紹了Node快速切換版本、版本回退(降級(jí))、版本更新(升級(jí)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Node.js readline模塊與util模塊的使用

    Node.js readline模塊與util模塊的使用

    本篇文章主要介紹了Node.js readline模塊與util模塊的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03

最新評(píng)論

龙川县| 青冈县| 运城市| 宣化县| 亳州市| 屏边| 大城县| 孝感市| 抚松县| 虞城县| 山东省| 山阴县| 卓尼县| 衡山县| 安龙县| 阜阳市| 民丰县| 克山县| 中卫市| 彭泽县| 岱山县| 施甸县| 邢台县| 宽城| 仙居县| 通榆县| 密云县| 五台县| 祁连县| 女性| 进贤县| 乌海市| 延吉市| 桃江县| 湖南省| 水城县| 新民市| 巨鹿县| 鹤壁市| 福安市| 金平|