- webpack是一個優秀的打包平台, 可以把sass, 圖檔, 字型等靜态資源全部打包到js中
- 作者最近在改造一個傳統的靜态網站, 為了減少http請求, 其中一個政策就是,把單個靜态網頁對應的多個靜态資源(如字型, css, 圖檔, js), 打包輸出到一個js檔案中, 然後讓每個html與對應獨立的js相關聯就可以了
- 我在網上找了webpack配置的相關資料, html與js的對應關系都是, "一對一", "多對一", 但很少有"多對多"的實作
但經過一番折騰, 最終還是被我配置出來了,這裡分享一下配置檔案相關的文法
//entry入口檔案支援json的形式
entry: {
"static/pc/js/index": "./webStatic/pc/js/index.js",
"static/pc/js/article-details": "./webStatic/pc/js/article-details.js",
"static/mobile/js/index": "./webStatic/mobile/js/index.js",
"static/mobile/js/article-details": "./webStatic/mobile/js/article-details.js"
},
output: {
path: path.resolve(__dirname, ''),
//filename前面我們可以使用一個變量[name],這個就表示擷取entry裡面的key作為檔案名加在前面
filename: '[name].js'
}
配置說明
- 根目錄下
為源碼放置的位置, 根目錄下
webStatic
為js輸出的的位置
static
- 配置檔案共進行了四個映射:
輸出到
webStatic/pc/js/index.js
,
static/pc/js/index.js
./webStatic/pc/js/article-details.js
static/pc/js/article-details.js
./webStatic/mobile/js/index.js
static/mobile/js/index.js
./webStatic/mobile/js/article-details.js
static/mobile/js/article-details.js
- 以後添加其它映射, 隻需在
内,按照格式添加即可(對着抄就行)
entry
小結:
對古老的網站進行維護, 短時間内用
react
或
vue
元件化重寫全部頁面不太現實,但用webpack做個打包, 還是可行性的, 配置好webpack多入口多出口,隻需對網站進行少量的改動, 就可以愉快的用scss, es6, 等文法寫網站了