webpack多入口多出口的實(shí)現(xiàn)方法
webpack是一個(gè)優(yōu)秀的打包平臺(tái), 可以把sass, 圖片, 字體等靜態(tài)資源全部打包到j(luò)s中
作者最近在改造一個(gè)傳統(tǒng)的靜態(tài)網(wǎng)站, 為了減少http請(qǐng)求, 其中一個(gè)策略就是,把單個(gè)靜態(tài)網(wǎng)頁(yè)對(duì)應(yīng)的多個(gè)靜態(tài)資源(如字體, css, 圖片, js), 打包輸出到一個(gè)js文件中, 然后讓每個(gè)html與對(duì)應(yīng)獨(dú)立的js相關(guān)聯(lián)就可以了
我在網(wǎng)上找了webpack配置的相關(guān)資料, html與js的對(duì)應(yīng)關(guān)系都是, "一對(duì)一", "多對(duì)一", 但很少有"多對(duì)多"的實(shí)現(xiàn)
但經(jīng)過(guò)一番折騰, 最終還是被我配置出來(lái)了,這里分享一下配置文件相關(guān)的語(yǔ)法
//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前面我們可以使用一個(gè)變量[name],這個(gè)就表示獲取entry里面的key作為文件名加在前面 filename: '[name].js' }
配置說(shuō)明
根目錄下 webStatic 為源碼放置的位置, 根目錄下 static 為js輸出的的位置
配置文件共進(jìn)行了四個(gè)映射: 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 內(nèi),按照格式添加即可(對(duì)著抄就行)
小結(jié):
對(duì)古老的網(wǎng)站進(jìn)行維護(hù), 短時(shí)間內(nèi)用 react 或 vue 組件化重寫(xiě)全部頁(yè)面不太現(xiàn)實(shí),但用webpack做個(gè)打包, 還是可行性的, 配置好webpack多入口多出口,只需對(duì)網(wǎng)站進(jìn)行少量的改動(dòng), 就可以愉快的用scss, es6, 等語(yǔ)法寫(xiě)網(wǎng)站了
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS實(shí)現(xiàn)判斷滾動(dòng)條滾到頁(yè)面底部并執(zhí)行事件的方法
這篇文章主要介紹了JS實(shí)現(xiàn)判斷滾動(dòng)條滾到頁(yè)面底部并執(zhí)行事件的方法,本文先是分析了需求以及必備知識(shí),然后給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12js關(guān)閉瀏覽器窗口及檢查瀏覽器關(guān)閉事件
js關(guān)閉瀏覽器窗口,不彈出提示框。支持ie6+,火狐,谷歌等瀏覽器,下面以一個(gè)示例為大家詳細(xì)介紹下具體的實(shí)現(xiàn)方法,感興趣的朋友可以參考下2013-09-09返回上一頁(yè)并自動(dòng)刷新的JavaScript代碼
返回上一頁(yè)并自動(dòng)刷新,JavaScript一般的使用history.go(-1)和history.back()等,需要的朋友可以參考下2014-02-02uniApp獲取當(dāng)前位置經(jīng)緯度的示例代碼
這篇文章主要介紹了uniApp獲取當(dāng)前位置經(jīng)緯度,以下是使用uni.getLocation獲取當(dāng)前位置的示例代碼,需要的朋友可以參考下2024-01-01微信小程序基于canvas漸變實(shí)現(xiàn)的彩虹效果示例
這篇文章主要介紹了微信小程序基于canvas漸變實(shí)現(xiàn)的彩虹效果,結(jié)合實(shí)例形式分析了微信小程序線性漸變及圓形漸變的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05JavaScript編寫(xiě)頁(yè)面半透明遮罩效果的簡(jiǎn)單示例
這篇文章主要介紹了JavaScript編寫(xiě)頁(yè)面半透明遮罩效果的簡(jiǎn)單示例,包括一個(gè)全屏幕div層遮蓋的方法展示,需要的朋友可以參考下2016-05-05javascript實(shí)現(xiàn)移動(dòng)端上傳圖片功能
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)移動(dòng)端上傳圖片功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08