国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

淺談Webpack自動化構(gòu)建實踐指南

2024-05-06 15:23:31
字體:
供稿:網(wǎng)友

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

npm VS Yarn

在本項目我們使用Yarn管理項目三方依賴,不過放心,Yarn和NPM不沖突,也不是要替代NPM,使用方式基本一致,只需要簡單了解以下幾點。

三方庫版本管理

npm 和 Yarn 都使用 package.json 來跟蹤項目的依賴,版本號并非一直準確,因為你可以定義版本號范圍,npm的不同更新范圍,可能導致在擁有相同 package.json 文件的機器上安裝不同版本包,這可能導致一些差異的異常和沖突。

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

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

并發(fā)安裝

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

離線緩存

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

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

Webpack

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

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

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

Webpack配置文件

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 江油市| 开鲁县| 芦溪县| 上虞市| 云霄县| 崇明县| 古丈县| 秦皇岛市| 类乌齐县| 井研县| 城市| 灌南县| 金秀| 定兴县| 磐安县| 宜宾市| 桂林市| 普宁市| 天峨县| 河南省| 中西区| 神农架林区| 江孜县| 屏山县| 瑞金市| 柞水县| 宿松县| 礼泉县| 彝良县| 平江县| 航空| 牟定县| 米易县| 黄龙县| 高唐县| 巴林右旗| 河东区| 林西县| 鲁山县| 河间市| 青河县|