2.2.4 webpack 配置文件

上一級(jí)使用 webpack 及其 loader 對(duì)前端代碼進(jìn)行構(gòu)建的方法還不夠簡(jiǎn)單乾戏,缺點(diǎn)如下蹬挺。

  • 每次構(gòu)建都需要指定項(xiàng)目的入口文件(./index.js)與輸出文件(./bundle.js)
  • 使用 loader 都需要 xxx! 的形式,意味著每個(gè)有 require CSS 資源的地方红且,都需要寫 require('style!css!./index.css');

使用配置文件進(jìn)行優(yōu)化:webpack 支持 Node.js 模塊格式的配置文件括细,默認(rèn)回使用當(dāng)前目錄下的 webpack.config.js棕硫,配置文件只需要 export 的一個(gè)配置信息對(duì)象即可骏庸。

module.exports = {
    // configuration

    // 項(xiàng)目入口文件
    entry: ,
    // 構(gòu)建的輸出結(jié)果描述,本身是一個(gè)對(duì)象年叮,包括多個(gè)字段具被,比較重要的如下
    output: {
        // 輸出目錄
        path:  ,
        // 輸出文件名
        filename: ,
        // 輸出目錄所對(duì)應(yīng)的外部路徑(從瀏覽器中訪問(wèn))
        publicPath:
    }
}

其中 publicPath 是一個(gè)很容易被忽略但是很重要的配置,它表示構(gòu)建最終結(jié)果被訪問(wèn)時(shí)的路徑

一個(gè)常見(jiàn)的前端構(gòu)建上線的過(guò)程是:
配置構(gòu)建輸出目錄 dist只损,構(gòu)建完成后對(duì) dist 目錄進(jìn)行打包一姿,然后將其內(nèi)容(結(jié)果文件往往會(huì)不止一個(gè))發(fā)布到 CDN 上七咧。比如 dist/bundle.js,假設(shè)它最終發(fā)布地址為 http://cdn.example.com/static/bundle.js叮叹,則這里的 publicPath 應(yīng)當(dāng)取輸出目錄(dist/)所對(duì)應(yīng)的線上路徑艾栋,即 http://cdn.example.com/static/。在我們的演示項(xiàng)目中蛉顽,直接通過(guò)相對(duì)路徑訪問(wèn)靜態(tài)資源蝗砾,不涉及打包上線 CDN 的過(guò)程,所以不做配置携冤。
對(duì)于之前的例子悼粮,配置文件(webpack.config.js,__dirname內(nèi)置變量曾棕,指當(dāng)前工作目錄)如下:

var path = require("path");
module.exports = {
  entry: path.join(__dirname, "index"),
  output: {
    filename: "bundle.js",
    path: __dirname
  },
  module: {
    loaders: [
        {test: /\.css$/, loaders: ["style-loader", "css-loader"]}
    ]
  }
};

module.loaders 是對(duì)于模塊中的 loader 使用的配置扣猫,值為一個(gè)數(shù)組。數(shù)組的每一項(xiàng)指定一個(gè)規(guī)則翘地,規(guī)則的 test 字段是正則表達(dá)式申尤,若被依賴的模塊的 ID 符合正則表達(dá)式,則對(duì)依賴模塊依次使用規(guī)則中 loaders 字段所指定的 loader 進(jìn)行轉(zhuǎn)換衙耕。

在這里我們配置了對(duì)所有符合/.css$/昧穿,即后綴名為 .css 的資源使用 style-loader 與 css-loader,這樣在 JavaScritp 代碼中 require CSS 模塊的時(shí)候就不用每次都寫一遍 style!css! 了臭杰,只需要像依賴 JavaScript 模塊寫成

require('./index.css');

這樣每次構(gòu)建的時(shí)候也不需要手動(dòng)指定入口文件和輸出文件了粤咪,直接在項(xiàng)目的目錄下執(zhí)行:

webpack

webpack 會(huì)默認(rèn)從 webpack.config.js 中獲取配置信息,并執(zhí)行構(gòu)建過(guò)程渴杆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寥枝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子磁奖,更是在濱河造成了極大的恐慌囊拜,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件比搭,死亡現(xiàn)場(chǎng)離奇詭異冠跷,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)身诺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蜜托,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人霉赡,你說(shuō)我怎么就攤上這事橄务。” “怎么了穴亏?”我有些...
    開(kāi)封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵蜂挪,是天一觀的道長(zhǎng)重挑。 經(jīng)常有香客問(wèn)我,道長(zhǎng)棠涮,這世上最難降的妖魔是什么谬哀? 我笑而不...
    開(kāi)封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮严肪,結(jié)果婚禮上史煎,老公的妹妹穿的比我還像新娘。我一直安慰自己诬垂,他們只是感情好劲室,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著结窘,像睡著了一般很洋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上隧枫,一...
    開(kāi)封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天喉磁,我揣著相機(jī)與錄音,去河邊找鬼官脓。 笑死协怒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的卑笨。 我是一名探鬼主播孕暇,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼赤兴!你這毒婦竟也來(lái)了妖滔?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤桶良,失蹤者是張志新(化名)和其女友劉穎座舍,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體陨帆,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡曲秉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疲牵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片承二。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖纲爸,靈堂內(nèi)的尸體忽然破棺而出亥鸠,到底是詐尸還是另有隱情,我是刑警寧澤缩焦,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布读虏,位于F島的核電站,受9級(jí)特大地震影響袁滥,放射性物質(zhì)發(fā)生泄漏盖桥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一题翻、第九天 我趴在偏房一處隱蔽的房頂上張望揩徊。 院中可真熱鬧,春花似錦嵌赠、人聲如沸塑荒。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)齿税。三九已至,卻和暖如春炊豪,著一層夾襖步出監(jiān)牢的瞬間凌箕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工词渤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牵舱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓缺虐,卻偏偏與公主長(zhǎng)得像芜壁,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子高氮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

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

  • GitChat技術(shù)雜談 前言 本文較長(zhǎng)慧妄,為了節(jié)省你的閱讀時(shí)間,在文前列寫作思路如下: 什么是 webpack纫溃,它要...
    蕭玄辭閱讀 12,697評(píng)論 7 110
  • 無(wú)意中看到zhangwnag大佬分享的webpack教程感覺(jué)受益匪淺腰涧,特此分享以備自己日后查看,也希望更多的人看到...
    小小字符閱讀 8,171評(píng)論 7 35
  • 最近在學(xué)習(xí) Webpack,網(wǎng)上大多數(shù)入門教程都是基于 Webpack 1.x 版本的,我學(xué)習(xí) Webpack 的...
    My_Oh_My閱讀 8,185評(píng)論 40 247
  • webpack 介紹 webpack 是什么 為什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert閱讀 6,470評(píng)論 2 71
  • 寫在開(kāi)頭 先說(shuō)說(shuō)為什么要寫這篇文章, 最初的原因是組里的小朋友們看了webpack文檔后, 表情都是這樣的: (摘...
    Lefter閱讀 5,292評(píng)論 4 31