面試題 - Webpack-babel各個(gè)配置項(xiàng)詳解

entry (入口配置)

  1. string ---> '.src/index.js'
  • 單入口
  • 打包形成一個(gè)chunk疼鸟,輸出一個(gè)bundle文件菩混。
  • 此時(shí)chunk的名稱默認(rèn)是main
  1. array ---> ['./src/index.js' , './src/add.js']
  • 多入口
  • 打包形成一個(gè)chunk来颤,輸出一個(gè)bundle文件杨名。
  • ---> 只有在HMR功能中讓html熱更新生效
  1. object ---> {indx:'./src/index.js' , add:'./src/add.js'}
  • 多入口
  • 有幾個(gè)入口文件就會(huì)形成幾個(gè)chunk雁刷,輸出多個(gè)bundle文件呕诉。
  • 此時(shí)chunk的名稱是key

output(出口配置)

  1. filename:文件名稱(目錄 + 名稱)
  2. path:輸出的目錄(將來所有的文件輸出的目錄)
  3. publicPath:'/' (所有資源引入公共路徑的前綴) img/1.png ---> /img/1.png
  4. chunkFilename:'js/[name]_chunk.js' (非入口chunk的名稱)
  5. library: '[name]' (整個(gè)庫向外暴露的變量名)
  6. libraryTarget:'window' (變量名添加的目標(biāo))

module (模塊缘厢,loader的配置)

module:{
  rules:[
    {
      test:/\.css$/,
      // 多個(gè)loader的配置
      use:['style-loader','css-loader']
    },
    {
       test:/\.js$/,
      // 單個(gè)loader
       loader:'eslint-loader',
      // 排除node_modules下的文件
       exclude:/node_modules/,
      // 只檢查src下面的文件
       include:__dirname + '/src',
      // 優(yōu)先執(zhí)行 和 延后執(zhí)行
       enforce:'pre',
       enforce:'post'
      // loader的配置
       options:{}
    },
    {
    // 以下loader只會(huì)生效一個(gè)
      oneOf:[]
    }
  ]
}

resolve (路徑配置)

resolve:{
    // 配置路徑別名 : 優(yōu)點(diǎn):簡寫路徑 缺點(diǎn):沒有代碼提示
    alias : {
      $css : __dirname + '/src/css'
    },
    // 配置省略后綴名的規(guī)則,也就是說在引入文件時(shí)可以省略后綴名。
    extensions:['.js','.json']甩挫,
    // 配置webpack解析模塊時(shí)所需目錄
    modules:[__dirname + '/node_modules','node_modules']
}

devServer (開發(fā)服務(wù)器)

devServer:{
 // 告訴服務(wù)器從哪個(gè)目錄中提供內(nèi)容, 一般是打包后的目錄贴硫。
  contentBase: __dirname + '/build',
  // 告知 dev-server,serve(服務(wù)) [`devServer.contentBase`]選項(xiàng)下的文件伊者。開啟此選項(xiàng)后英遭,在文件修改之后,會(huì)觸發(fā)一次完整的頁面重載亦渗。
  watchContentBase: true,
  watchOptions:{
    // 忽略監(jiān)視node_modules
    ignored:/node_modules/
  },  
  // 啟用 gzip 壓縮
  compress:true,
  // 端口號:5000
  port : 5000
  // 域名
  host:'localhost',
  // 自動(dòng)打開瀏覽器
  open:true,
  // 開啟HMR功能
  hot:true,
  //  不要顯示啟動(dòng)服務(wù)器日志信息
  clientLogLevel:'none',
  // 除了一些基本啟動(dòng)信息外挖诸,其他都不要顯示
  quiet:true,
  // 如果出現(xiàn)錯(cuò)誤不要全屏提示
  overlay:false,
  // proxy  ---> 服務(wù)器代理(解決跨域問題)
  proxy:{
    // 一旦devServer(5000)接收到 /api/xxx請求,就會(huì)把請求轉(zhuǎn)發(fā)到另一個(gè)服務(wù)器(3000)
    '/api':{
        target:'http://lcoalhost:3000'
     },
    // 發(fā)送請求時(shí)法精,請求路徑重寫: /api/xxx ---> /xxx
    pathRewrite:{
      ‘^api’:'' 
    }
  }
}

optimization (代碼分割 code split) ---> mode:'production生產(chǎn)環(huán)境'

// code split 代碼分割
optimization:{
  // 分割方案 (參考文檔)
  splitChunks:{},
  // 將當(dāng)前模塊的記錄其他模塊的hash單獨(dú)打包為一個(gè)文件 runtime
  // 解決:修改a文件導(dǎo)致b文件的contenthash變化
   runtimeChunk:{
    name:entrypoint => `runtime-${entrypoint.name}`    
   },
   minimizer:{
    // 配置生產(chǎn)環(huán)境的壓縮方案: js 和 css
    new TerserWebpackPlugin({
      // 開啟緩存
      cache:true,
      // 是否啟用多進(jìn)程打包
      parallel:true,
      // 啟動(dòng)sourcemap
      sourceMap:true
    })  
  }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末多律,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子搂蜓,更是在濱河造成了極大的恐慌狼荞,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件帮碰,死亡現(xiàn)場離奇詭異相味,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)殉挽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門丰涉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人此再,你說我怎么就攤上這事昔搂×嵯” “怎么了输拇?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長贤斜。 經(jīng)常有香客問我策吠,道長逛裤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任猴抹,我火速辦了婚禮带族,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蟀给。我一直安慰自己蝙砌,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布跋理。 她就那樣靜靜地躺著择克,像睡著了一般。 火紅的嫁衣襯著肌膚如雪前普。 梳的紋絲不亂的頭發(fā)上肚邢,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機(jī)與錄音拭卿,去河邊找鬼骡湖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛峻厚,可吹牛的內(nèi)容都是我干的响蕴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼目木,長吁一口氣:“原來是場噩夢啊……” “哼换途!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起刽射,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤军拟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后誓禁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體懈息,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年摹恰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了辫继。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡俗慈,死狀恐怖姑宽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闺阱,我是刑警寧澤炮车,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響瘦穆,放射性物質(zhì)發(fā)生泄漏纪隙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一扛或、第九天 我趴在偏房一處隱蔽的房頂上張望绵咱。 院中可真熱鬧,春花似錦熙兔、人聲如沸悲伶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拢切。三九已至,卻和暖如春秆吵,著一層夾襖步出監(jiān)牢的瞬間淮椰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工纳寂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留主穗,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓毙芜,卻偏偏與公主長得像忽媒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子腋粥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355