2019-10-21 webpack配置從0配置

webpack 是一個現(xiàn)代 JavaScript 應(yīng)用程序的靜態(tài)模塊打包器(module bundler)

npm install webpack webpack-cli --save -dev

1.webpack-cli 解析webpack運行時傳入的參數(shù)
webpack未全局安裝時
npx是npm5.2之后出的新功能 可幫助執(zhí)行.bin目錄下的可執(zhí)行文件

npx webpack

https://blog.csdn.net/csdn_yudong/article/details/81670477

2.webpack 0配置有默認入口entry 和出口output

npx webpack --mode development

或者
配置package參數(shù)scripts: {
"dev": "webpack --mode development",
"build": "webpack --mode production"
}
然后npm run dev 或者npm run build

commonjs規(guī)范 eslint代碼檢測工具

nodejs操作文件的兩個變量 __dirname和 __filename
path.resolve() 方法將路徑或路徑片段的序列解析為絕對路徑躯嫉。

常用插件

  • 插件webpack-merge用來合并配置文件
  • development在開發(fā)環(huán)境時服務(wù)配置使用webpack devserver 可用端口訪問
  • 插件 html-webpack-plugin 生產(chǎn)環(huán)境時使用html模板生成頁面 并引入打包后的js
  • 插件 clean-webpack-plugin 生產(chǎn)環(huán)境時打包之前清除目標(biāo)目錄下的文件

解析css

  • css-loader解析css style-loader將css生成style標(biāo)簽寫在頁面上
  • 使用scss樣式預(yù)處理器時 安裝node-sass和sass-loader
  • postcss-loader和autoprefixer為樣式添加瀏覽器前綴
  • mini-css-extract-plugin插件可設(shè)置在生產(chǎn)環(huán)境時抽離樣式輸出到指定文件,加載樣式〔菅龋可同時使用optimize-css-assets-webpack-plugin壓縮樣式文件红符,但是這樣會破壞生產(chǎn)環(huán)境下的js自動壓縮猜嘱,需要另外再使用terser-webpack-plugin插件將js壓縮一下店读。

加載文件

  • 使用file-loader和url-loader url-loader插件可以設(shè)置將小于一定大小的圖片轉(zhuǎn)為base64格式 以減少圖標(biāo)文件等的http請求

編譯js

  • 使用babel-loader 加載babel使js現(xiàn)代語法轉(zhuǎn)為瀏覽器可以執(zhí)行的js
    順序 babel-loader --> @babel/core -->@babel/preset-env琼娘。
    實際使用中不同的js草案語法可能需要使用不同的插件處理腳本

問題:安裝npm install時候什么時候使用--save什么時候使用--save-dev
問題:.js .jsx .ts .tsx 這幾個后綴文件的區(qū)別

presets:預(yù)設(shè)峭弟,即一組預(yù)先設(shè)定的插件,是babel插件的組合
presets與plugins同時存在的執(zhí)行順序

  1. plugins運行在presets之前脱拼;
  2. plugins配置項瞒瘸,按照聲明順序執(zhí)行,從第一個到最后一個熄浓;
  3. presets配置項挨务,按照聲明逆序執(zhí)行,從最后一個到第一個(主要是為了確保向后兼容)

使用React

安裝react包

npm install react react-dom --save-dev
npm install @babel/preset-react --save-dev

@babel/preset-react預(yù)設(shè)可以將jsx語法轉(zhuǎn)為javascript 再@babel/preset-env轉(zhuǎn)換為es5

React + Typescript + webpack

安裝typescript 安裝@types/react @types/react-dom使用

  • 方案1

安裝ts-loader 和typescript集來使用

  • 方案2

babel7提供了編譯typescript的包 @babel/preset-typescript 可以使用
@babel/preset-typescript是將typescrip轉(zhuǎn)為javascript

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末玉组,一起剝皮案震驚了整個濱河市谎柄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惯雳,老刑警劉巖朝巫,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異石景,居然都是意外死亡劈猿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門潮孽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來揪荣,“玉大人,你說我怎么就攤上這事往史≌叹保” “怎么了?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵椎例,是天一觀的道長挨决。 經(jīng)常有香客問我,道長订歪,這世上最難降的妖魔是什么脖祈? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮刷晋,結(jié)果婚禮上盖高,老公的妹妹穿的比我還像新娘慎陵。我一直安慰自己,他們只是感情好喻奥,可當(dāng)我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布席纽。 她就那樣靜靜地躺著,像睡著了一般映凳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上邮破,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天诈豌,我揣著相機與錄音,去河邊找鬼抒和。 笑死矫渔,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的摧莽。 我是一名探鬼主播庙洼,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼镊辕!你這毒婦竟也來了油够?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤征懈,失蹤者是張志新(化名)和其女友劉穎石咬,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體卖哎,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡鬼悠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了亏娜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焕窝。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖维贺,靈堂內(nèi)的尸體忽然破棺而出它掂,到底是詐尸還是另有隱情,我是刑警寧澤溯泣,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布群发,位于F島的核電站,受9級特大地震影響发乔,放射性物質(zhì)發(fā)生泄漏熟妓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一栏尚、第九天 我趴在偏房一處隱蔽的房頂上張望起愈。 院中可真熱鬧,春花似錦、人聲如沸抬虽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阐污。三九已至休涤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笛辟,已是汗流浹背功氨。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留手幢,地道東北人捷凄。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像围来,于是被迫代替她去往敵國和親跺涤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,930評論 2 361

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

  • 目錄第1章 webpack簡介 11.1 webpack是什么监透? 11.2 官網(wǎng)地址 21.3 為什么使用 web...
    lemonzoey閱讀 1,739評論 0 1
  • 使用ES6語言 雖然目前部分瀏覽器和Node.js已經(jīng)支持ES6桶错,但由于它們對ES6所有的標(biāo)準(zhǔn)支持不全,這導(dǎo)致在開...
    oWSQo閱讀 1,095評論 0 1
  • 對于之前webpack使用與配置(上)的補充 使用typescript時需要在根目錄下創(chuàng)建一個tsconfig.j...
    XJBT閱讀 495評論 0 2
  • 前端人員都知道胀蛮,webpack能替代部分 grunt/gulp 的工作牛曹,比如打包、壓縮混淆醇滥、圖片轉(zhuǎn)base64等黎比。...
    youth_MrZhou閱讀 912評論 0 2
  • 小時候姐姐要到很遠的地方出差了不跟,一年下來沒跟姐講過幾次電話颓帝。每次來電話都要搶著接電話,過年了姐回來窝革,覺得家終于團圓...
    kinwai閱讀 202評論 2 0