如何使用webpack?

當(dāng)今的很多網(wǎng)頁其實可以看做是功能豐富的應(yīng)用,它們擁有著復(fù)雜的JavaScript代碼和一大堆依賴包。為了簡化開發(fā)的復(fù)雜度,前端社區(qū)涌現(xiàn)出了很多好的實踐方法:

a:模塊化,讓我們可以把復(fù)雜的程序細(xì)化為小的文件;

b:類似于TypeScript這種在JavaScript基礎(chǔ)上拓展的開發(fā)語言:使我們能夠?qū)崿F(xiàn)目前版本的JavaScript不能直接使用的特性,并且之后還能 ? ? ? ? ? ? ? ? ? ? ? ? ? JavaScript文件使瀏覽器可以識別;

c:scss,less等CSS預(yù)處理器.........

這些改進(jìn)確實大大的提高了我們的開發(fā)效率,但是利用它們開發(fā)的文件往往需要進(jìn)行額外的處理才能讓瀏覽器識別,而手動處理又是非常反鎖的,這就為WebPack類的工具的出現(xiàn)提供了需求。


什么是webpack?

Webpack 是當(dāng)下最熱門的前端資源模塊化管理和打包工具。它可以將許多松散的模塊按照依賴和規(guī)則打包成符合生產(chǎn)環(huán)境部署的前端資源。還可以將按需加載的模塊進(jìn)行代碼分隔,等到實際需要的時候再異步加載。通過 loader 的轉(zhuǎn)換,任何形式的資源都可以視作模塊,比如 CommonJs 模塊、 AMD 模塊、 ES6 模塊、CSS、圖片、 JSON、Coffeescript、 LESS 等。

webpack已經(jīng)是大部分前端項目打包工具的首選,grunt、glup、browserify等逐漸淪為輔助甚至完全被替代。在grunt、glup、browserify等已經(jīng)相當(dāng)火了之后,webpack長江后浪推前浪,把前輩們拍死在沙灘上,實力驚人。

可以毫不夸張的說,webpack已經(jīng)是你下山行走江湖,叱咤風(fēng)云的必備技能。

webpack2入門

安裝

npm install webpack -g

npm install webpack@< version> --save-dev

創(chuàng)建一個 bundle 文件

mkdir webpack-demo && cd webpack-demo

npm init -y

npm install --save-dev webpack

查看幫助:

.\node_modules\.bin\webpack --help # windows 用戶請使用此路徑

現(xiàn)在在 app 子目錄下創(chuàng)建一個 index.js 文件。

function component () {

var element = document.createElement('div');

/* 需要引入 lodash,下一行才能正常工作 */

element.innerHTML = _.join(['Hello','webpack'], ' ');

return element;

}

document.body.appendChild(component());

在 index.js 中打包 lodash 依賴,首先我們需要安裝 lodash。

npm install --save lodash

然后 import lodash。

+ import _ from 'lodash';

function component () {

...

同時還要在剛剛創(chuàng)建的html文件中引入bundle文件

< script src="dist/bundle.js"></scipt>

現(xiàn)在在此文件夾下運行 webpack,其中 index.js 是輸入文件,bundle.js 是輸出文件,輸出文件已打包此頁面所需的所有代碼。

./node_modules/.bin/webpack app/index.js dist/bundle.js

Hash: ff6c1d39b26f89b3b7bb

Version: webpack 2.2.0

Time: 385ms

Asset ? ?Size ?Chunks ? ? ? ? ? ? ? ? ? ?Chunk Names

bundle.js ?544 kB ? ? ? 0 ?[emitted] ?[big] ?main

[0] ./~/lodash/lodash.js 540 kB {0} [built]

[1] (webpack)/buildin/global.js 509 bytes {0} [built]

[2] (webpack)/buildin/module.js 517 bytes {0} [built]

[3] ./app/index.js 278 bytes {0} [built]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、理解Webpack的打包過程 1.創(chuàng)建一個test目錄并進(jìn)入 npm 初始化,生成package.json文件...
    李悅之閱讀 11,219評論 0 3
  • webpack是前端開發(fā)中比較常用的打包工具之一,另外還有g(shù)ulp,grunt。之前沒有涉及過打包這塊,這里介紹一...
    至尊寶_bffc閱讀 1,056評論 0 0
  • 大家好,我是IT修真院武漢分院第5期的如何使用webpack學(xué)員朱英杰,一枚正直純潔善良的WEB前端程序員。 1....
    敲代碼中閱讀 434評論 1 0
  • 無意中看到zhangwnag大佬分享的webpack教程感覺受益匪淺,特此分享以備自己日后查看,也希望更多的人看到...
    小小字符閱讀 8,359評論 7 35
  • webpack 介紹 webpack 是什么 為什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert閱讀 6,662評論 2 71

友情鏈接更多精彩內(nèi)容