webpack4入門講解

使用前準(zhǔn)備
  1. 使用webpack前需要先全局安裝wepback和webpack-cli杀糯;執(zhí)行代碼:
npm install webpack webpack-cli -g
  1. 還需要進行初始化;之后會生產(chǎn)一個package.json牵舵,然后進行修改
 初始化命令:npm init 

pageage.json加入的內(nèi)容:"scripts": {
    "build": "webpack --mode production"
  },
  "devDependencies": {
    "webpack": "^4.1.1",
    "webpack-cli": "^2.0.12",
  }
  1. 然后進行安裝依賴倦挂,執(zhí)行npm install
  2. webpack會默認打包壓縮./src/index.js;也就是說可以零配置構(gòu)建;我們執(zhí)行完npm run build之后會發(fā)現(xiàn)多了一個dist的文件夾没炒,里面就是處理好的文件犯戏;
webpack的基本概念
  1. entry 入口拳话,如果是單頁面應(yīng)用弃衍,那么可能入口只有一個坚俗;如果是多個頁面的項目,那么經(jīng)常是一個頁面會對應(yīng)一個構(gòu)建入口速缆;
  2. loader 轉(zhuǎn)換器恩闻,負責(zé)把某種文件格式的內(nèi)容轉(zhuǎn)換成 webpack 可以支持打包的模塊【胩撸可以這么理解,模塊代碼轉(zhuǎn)換的工作由 loader 來處理辱挥,除此之外的其他任何工作都可以交由 plugin 來完成边涕。
  3. plugin 插件,例如园爷,要使用壓縮 JS 代碼的 uglifyjs-webpack-plugin 插件式撼,只需在配置中通過 plugins 字段添加新的 plugin 即可
  4. output 輸出,webpack最終構(gòu)建成的配置文件
  • webpack運行時會默認讀取webpack.config.js;
搭建基本的前端開發(fā)環(huán)境
  1. html-webpack-plugin 可以將我們的頁面和構(gòu)建 JS 關(guān)聯(lián)起來
  2. css-loader 負責(zé)解析 CSS 代碼扰楼,style-loader 會將 css-loader 解析的結(jié)果轉(zhuǎn)變成 JS 代碼
    3.img file-loader 可以用于處理很多類型的文件美浦,如png,jpg蹬竖,gif
  3. babel, JS 編譯工具列另,以便使用 ES6旦装、ES7 標(biāo)準(zhǔn)來編寫 JS 代碼
  • 安裝webpack-dev-sever,pageage.json里面添加
"scripts": {
  "build": "webpack --mode production",
  "start": "webpack-dev-server --mode development"
}

然后運行npm run dev來開啟服務(wù)拷姿;

webpack的代碼模塊路徑
  • 和模塊路徑解析相關(guān)的配置都在 resolve 字段下
  1. resolve.alias
    假設(shè)我們有個 utils 模塊極其常用旱函,經(jīng)常編寫相對路徑很麻煩描滔,希望可以直接 import 'utils' 來引用
模糊匹配
alias: {
  utils: path.resolve(__dirname, 'src/utils') // 這里使用 path.resolve 和 __dirname 來獲取絕對路徑
}
攜帶了 utils 就可以被替換掉,如import 'utils/query.js' 
精確匹配
alias: {
  utils$: path.resolve(__dirname, 'src/utils') // 只會匹配 import 'utils'
}
  1. resolve.extensions
    extensions: ['.wasm', '.mjs', '.js', '.json', '.jsx'],
    這樣嘗試幫你補全那些后綴名來進行查找
    // 這里的順序代表匹配后綴的優(yōu)先級券腔,例如對于 index.js 和 index.jsx拘泞,會優(yōu)先選擇 index.js
  2. resolve.modules
    像平時直接可以 import vue from ‘vue’,import axios from ‘a(chǎn)xios’
resolve: {
  modules: [
    path.resolve(__dirname, 'node_modules'), // 指定當(dāng)前目錄下的 node_modules 優(yōu)先查找
    'node_modules', // 如果有一些類庫是放在一些奇怪的地方的辱魁,你可以添加自定義的路徑或者目錄
  ],
}
  1. resolve.mainFields
    入口聲明诗鸭,一般在pageage.json中的main,但也可以通過mainFields進行調(diào)整锻弓;可以根據(jù)是瀏覽器或者是服務(wù)器來判斷入口蝌箍;
resolve: {
  // 配置 target === "web" 或者 target === "webworker" 時 mainFields 默認值是:
  mainFields: ['browser', 'module', 'main'],

  // target 的值為其他時,mainFields 默認值為:
  mainFields: ["module", "main"],
}

5.resolve.mainFiles
個人覺得跟上面的mainFields差不多聚至,相當(dāng)于配置pageage.json中的main

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末本橙,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子贷币,更是在濱河造成了極大的恐慌,老刑警劉巖偶摔,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辰斋,死亡現(xiàn)場離奇詭異,居然都是意外死亡宫仗,警方通過查閱死者的電腦和手機旁仿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門枯冈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人尘奏,你說我怎么就攤上這事」寮澹” “怎么了琢感?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵驹针,是天一觀的道長。 經(jīng)常有香客問我柬甥,道長,這世上最難降的妖魔是什么卤橄? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任臂外,我火速辦了婚禮喇颁,結(jié)果婚禮上橘霎,老公的妹妹穿的比我還像新娘。我一直安慰自己姐叁,他們只是感情好洗显,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布挠唆。 她就那樣靜靜地躺著,像睡著了一般损搬。 火紅的嫁衣襯著肌膚如雪柜与。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天颅悉,我揣著相機與錄音迁匠,去河邊找鬼。 笑死延曙,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的枝缔。 我是一名探鬼主播蚊惯,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼截型,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了宦焦?” 一聲冷哼從身側(cè)響起顿涣,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤园骆,失蹤者是張志新(化名)和其女友劉穎寓调,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夺英,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡痛悯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了惧财。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片扭仁。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖搀突,靈堂內(nèi)的尸體忽然破棺而出熊泵,到底是詐尸還是另有隱情,我是刑警寧澤顽分,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布卒蘸,位于F島的核電站,受9級特大地震影響悬秉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜和泌,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一武氓、第九天 我趴在偏房一處隱蔽的房頂上張望仇箱。 院中可真熱鬧东羹,春花似錦、人聲如沸属提。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恕酸。三九已至,卻和暖如春蕊温,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背发笔。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工症革, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鸯旁,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓艇挨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親韭赘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容