真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

淺談Webpack自動(dòng)化構(gòu)建實(shí)踐指南-創(chuàng)新互聯(lián)

由于現(xiàn)在的博客是使用wordpress搭建,自己得經(jīng)常修改過(guò)一些代碼,但是修改第三方源碼真的比較痛苦,于是決定計(jì)劃開(kāi)始使用React + Node.js / Python開(kāi)發(fā)新博客項(xiàng)目,最終替換當(dāng)前博客代碼,方便以后博客的維護(hù)和更新,也能實(shí)現(xiàn)自我開(kāi)發(fā)技術(shù),架構(gòu)設(shè)計(jì),解決問(wèn)題能力的提升,同時(shí)記錄下整個(gè)開(kāi)發(fā)歷程,總結(jié),分享,希望能與讀者們一起進(jìn)步。本篇介紹如何使用Webpack和Babel,Eslint,documentation.js等搭建項(xiàng)目開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境,也算項(xiàng)目的準(zhǔn)備工作,下一期計(jì)劃介紹項(xiàng)目的架構(gòu)設(shè)計(jì)和技術(shù)棧選擇。

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到義馬網(wǎng)站設(shè)計(jì)與義馬網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋義馬地區(qū)。

npm VS Yarn

在本項(xiàng)目我們使用Yarn管理項(xiàng)目三方依賴(lài),不過(guò)放心,Yarn和NPM不沖突,也不是要替代NPM,使用方式基本一致,只需要簡(jiǎn)單了解以下幾點(diǎn)。

三方庫(kù)版本管理

npm 和 Yarn 都使用 package.json 來(lái)跟蹤項(xiàng)目的依賴(lài),版本號(hào)并非一直準(zhǔn)確,因?yàn)槟憧梢远x版本號(hào)范圍,npm的不同更新范圍,可能導(dǎo)致在擁有相同 package.json 文件的機(jī)器上安裝不同版本包,這可能導(dǎo)致一些差異的異常和沖突。

那npm有解決方式嘛?npm中可以使用 npm shrinkwrap生成一個(gè)版本鎖文件npm-shrinkwrap.json,在 npm install 時(shí)會(huì)在讀取 package.json 前先讀取這個(gè)文件,但是當(dāng)更新包版本時(shí),版本鎖文件并不會(huì)自動(dòng)更新,我們得手動(dòng)再次執(zhí)行npm shrinkwrap命令更新它。

那么Yarn有什么優(yōu)勢(shì)呢?每次添加或更新安裝庫(kù)包時(shí),Yarn 都會(huì)創(chuàng)建(或更新)yarn.lock 文件,這樣可以確保所有機(jī)器安裝相同版本包,同時(shí)支持 package.json 中定義的允許版本范圍,和npm的區(qū)別在于Yarn總會(huì)自動(dòng)更新 yarn.lock,而npm需要手動(dòng)更新。

并發(fā)安裝

npm通常是按順序一個(gè)一個(gè)安裝依賴(lài),而Yarn支持并行加載安裝多個(gè)三方庫(kù)包,所有其速度和效率都更快。

離線(xiàn)緩存

使用Yarn管理包時(shí),三方庫(kù)包存放在本地磁盤(pán),下次安裝將直接使用本地文件而不是再次下載,這也從另一方面使其安裝速度優(yōu)于npm。

簡(jiǎn)而言之就是,Yarn和npm使用方式幾乎一樣,但是其版本管理更方便,安裝速度更快,更有優(yōu)勢(shì),但是實(shí)際上它的所有三方庫(kù)包加載地址和npm都是統(tǒng)一的。

Webpack

我們使用Webpack打包工具作為項(xiàng)目的自動(dòng)化構(gòu)建工具,將JavaScript,CSS,圖片等資源都當(dāng)作JavaScript模塊(使用Webpack loader處理轉(zhuǎn)換)進(jìn)行統(tǒng)一管理,關(guān)于Webpack博主之前總結(jié)過(guò)兩篇文章,可以參考:

  1. Webpack搭建SPA應(yīng)用開(kāi)發(fā)環(huán)境
  2. Webpack模塊化管理CSS和圖片等資源

有了前文的鋪墊,本文就不打算展開(kāi)介紹Webpack的工作原理和具體配置,而計(jì)劃從項(xiàng)目實(shí)踐開(kāi)發(fā)和測(cè)試,打包層面思考如何更好的組織Webpack,如何使用Webpack提告項(xiàng)目開(kāi)發(fā),打包效率。

Webpack配置文件

首先我們?cè)诟夸浵聞?chuàng)建webpack.config.js配置文件:

module.exports = function () {
 let env
 let _DEV_ = true // 開(kāi)發(fā)環(huán)境
 let _PROD_ = false // 生產(chǎn)環(huán)境

 switch (process.env.NODE_ENV) {
 case 'dev':
 env = 'dev'
 _DEV_ = true
 _PROD_ = false
 break
 case 'production':
 env = 'prod'
 _DEV_ = false
 _PROD_ = true
 break
 default:
 env = 'dev'
 _DEV_ = true
 _PROD_ = false
 }
 // 根據(jù)環(huán)境參數(shù)動(dòng)態(tài)決定引入對(duì)應(yīng)配置文件
 return require(`./webpack/${env}.conf.js`)({
 ROOTPATH: __dirname,
 _DEV_,
 _PROD_
 })
}

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


分享標(biāo)題:淺談Webpack自動(dòng)化構(gòu)建實(shí)踐指南-創(chuàng)新互聯(lián)
文章來(lái)源:http://weahome.cn/article/dpjppi.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部