中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

怎么開發WebpackLoader-創新互聯

本篇內容主要講解“怎么開發Webpack Loader”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么開發Webpack Loader”吧!

成都創新互聯公司長期為1000+客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為襄陽企業提供專業的成都網站設計、成都網站制作,襄陽網站改版等技術服務。擁有10余年豐富建站經驗和眾多成功案例,為您定制開發。

一、單一任務

loaders可以被鏈式調用,為每一步創建一個loader而非一個loader做所有事情。也就是說,在非必要的狀況下沒有必要將他們轉換為js。

例如:通過查詢字符串將一個字符串模板轉化為html。

如果你寫了個loader。做了所有事情那么你違背了loader的第一條要求。你應該為每一個task創建一個loader并且通過管道來使用它們

(1)ade-loader: 轉換模板為一個module

(2) apply-loader:創建一個module并通過查詢參數來返回結果

(3)html-loade: 創建一個處理html并返回一個string的模塊

二、創建moulde話的模塊,即正常的模塊

loader產出的module應該和遵循和普通的module一樣的設計原則。

舉個例子,下面這樣設計是不好的,沒有模塊化,依賴全局狀態。

怎么開發Webpack Loader

三、盡量表明該loader是否可以緩存

大部分loaders是cacheable,所以應該標明是否cacheable,只需要在loader里面調用即可。

怎么開發Webpack Loader

四、不要在運行和模塊之間保存狀態

(1)一個loader相對于其他編譯后的模塊應該是獨立的。 除非其可以自己處理這些狀態

(2)一個loader相對于同一模塊之前的編譯過程應該是獨立的。

五、標明依賴

如果該loader引用了其他資源(例如文件系統), 必須聲明它們。這些信息用來是緩存的loader失效并且重新編譯它們。

怎么開發Webpack Loader

六、解析依賴

很多語言都提供了一些規范來聲明依賴,例如css中的 @import 和 url(...)。這些依賴應該被模塊系統所解析。

下面是兩種解決方式:

1、將它們轉化成require

2、 用this.resolve方法來解析路徑

下面是兩個示例:

1、css-loader: 將依賴轉化成require,即用require來替換@import和 url(...),解析對其他樣式文件的依賴

2、less-loader: 不能像css-loader那樣做,因為所有的less文件需要一起編譯來解析變量和mixins。因此其通過一個公共的路徑邏輯來擴展less編譯過程。這個公共的邏輯使用this.resolve來解析帶有module系統配置項的文件。例如aliasing, custom module directories等。

怎么開發Webpack Loader

如果語言僅僅接受相對urls(如css中url(file) 總是代表./file),使用~來說明成模塊依賴.

七、抽離公共代碼

extract common code 我感覺還是翻譯成上面的標題比較好。其實所有語言都遵循該思想,即封裝

不要寫出來很多每個模塊都在使用的代碼,在loader中創建一個runtime文件,將公共代碼放在其中

八、避免寫入絕對路徑

不要把絕對路徑寫入到模塊代碼中。它們將會破壞hash的過程當項目的根目錄發生改變的時候。應該使用loader-utils的 stringifyRequest方法來絕對路徑轉化為相對路徑。

例子:

怎么開發Webpack Loader

九、使用peerDependencies來指明依賴的庫

使用peerDependency允許應用開發者去在package.json里說明依賴的具體版本。這些依賴應該是相對開放的允許工具庫升級而不需要重新發布loader版本。簡而言之,對于peerDependency依賴的庫應該是松耦合的,當工具庫版本變化的時候不需要重新變更loader版本。

十、可編程對象作為查詢項

有些情況下,loader需要某些可編程的對象但是不能作為序列化的query參數被方法解析。例如less-loader通過具體的less-plugin提供了這種可能。這種情況下,loader應該允許擴展webpack的options對象去獲得具體的option。為了避免名字沖突,基于loader的命名空間來命名是很必要的。

怎么開發Webpack Loader

到此,相信大家對“怎么開發Webpack Loader”有了更深的了解,不妨來實際操作一番吧!這里是創新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

當前文章:怎么開發WebpackLoader-創新互聯
標題來源:http://m.2m8n56k.cn/article8/dccpop.html

成都網站建設公司_創新互聯,為您提供企業網站制作全網營銷推廣營銷型網站建設微信公眾號網站策劃App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設
主站蜘蛛池模板: 国产成版人视频网站免费下 | 免费精品99久久国产综合精品 | 暖暖日本在线播放 | 久久精品亚洲一级毛片 | 久久久久一| 成人毛片高清视频观看 | 99视频精品全部在线播放 | 综合自拍亚洲综合图区美腿丝袜 | 亚洲免费在线视频播放 | 在线国产一区 | 免费观看毛片的网站 | 三级黄网| 国产欧美日韩精品高清二区综合区 | 另类在线 | 亚洲视频二 | 欧美特黄三级成人 | 扒开双腿猛进入喷水免费视频 | 久久视奸 | 国内精品久久久久久影院8f | 国产日韩欧美三级 | 国产专区中文字幕 | 亚洲国产成人久久99精品 | 免费看成人播放毛片 | 亚洲第一区在线 | 91久久青青草原免费 | 91精品欧美综合在线观看 | 在线播放成人毛片免费视 | 色视频网站大全免费 | 午夜在线精品不卡国产 | 国产精品亚洲欧美日韩久久 | 亚洲清纯自偷自拍另类专区 | 久久精品免看国产 | 妖精www成人动漫在线观看 | 精品videosex性欧美 | 国产美女主播一级成人毛片 | 免费播放欧美毛片欧美a | 一级欧美在线的视频 | 日本高清色本在线www游戏 | 免费不卡毛片 | 欧美激情免费a视频 | 一级一级毛片看看 |