国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

webpack file-loader和url-loader的區別

2024-05-06 15:43:18
字體:
來源:轉載
供稿:網友

1.前言

如果我們希望在頁面引入圖片(包括img的src和background的url)。當我們基于webpack進行開發時,引入圖片會遇到一些問題。

其中一個就是引用路徑的問題。拿background樣式用url引入背景圖來說,我們都知道,webpack最終會將各個模塊打包成一個文件,因此我們樣式中的url路徑是相對入口html頁面的,而不是相對于原始css文件所在的路徑的。這就會導致圖片引入失敗。這個問題是用file-loader解決的,file-loader可以解析項目中的url引入(不僅限于css),根據我們的配置,將圖片拷貝到相應的路徑,再根據我們的配置,修改打包后文件引用路徑,使之指向正確的文件。

另外,如果圖片較多,會發很多http請求,會降低頁面性能。這個問題可以通過url-loader解決。url-loader會將引入的圖片編碼,生成dataURl。相當于把圖片數據翻譯成一串字符。再把這串字符打包到文件中,最終只需要引入這個文件就能訪問圖片了。當然,如果圖片較大,編碼會消耗性能。因此url-loader提供了一個limit參數,小于limit字節的文件會被轉為DataURl,大于limit的還會使用file-loader進行copy。

url-loader和file-loader是什么關系呢?簡答地說,url-loader封裝了file-loader。url-loader不依賴于file-loader,即使用url-loader時,只需要安裝url-loader即可,不需要安裝file-loader,因為url-loader內置了file-loader。通過上面的介紹,我們可以看到,url-loader工作分兩種情況:1.文件大小小于limit參數,url-loader將會把文件轉為DataURL;2.文件大小大于limit,url-loader會調用file-loader進行處理,參數也會直接傳給file-loader。因此我們只需要安裝url-loader即可。

推薦文檔:

file-loader: https://github.com/webpack-contrib/file-loader

url-loader: http://www.survivalescaperooms.com/article/122936.htm

2.loader中的參數

上面提到url-loader的參數和file-loader的參數,那么loader的參數是個什么概念呢?loader的參數用來自定義loader處理文件時的工作特性。下面以url-loader為例,介紹一下webpack的loader中的參數。

首先看下面的例子:

module.exports = { // 入口文件路徑,__dirname是根目錄 entry: __dirname + '/src/main.js', // 打包生成文件 output: {  path: __dirname + '/output',  filename: 'main.js' },  module: {  rules: [   {    test: //.css$/,    use: ['style-loader', 'css-loader']   },   {    test: //.jpeg$/,    use: [     {      loader: 'url-loader',      options: {       limit: '1024'      }     },    ]   }  ] }}

其中,url-loader的配置中的options屬性表示的就是url-loader的參數,還有一種等價的寫法:

{ test: //.jpeg$/, use: 'url-loader?limit=1024}

如果有多個參數,就用 ‘&' 連接起來。和http請求中的參數類似。正如前面介紹的,limit這個參數就是告訴url-loader,在文件小于多少個字節時,將文件編碼并返回DataURL。此外url-loader還有一些用于file-loader的參數。我們知道,file-loader的作用是將文件復制到其他目錄。file-loader提供了一系列參數允許我們自定義諸如輸出文件、文件名規則、發布路徑等特性的參數。下面介紹一下這些參數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 定远县| 马公市| 内黄县| 河曲县| 青田县| 洛南县| 嘉荫县| 曲水县| 珲春市| 察雅县| 普定县| 广河县| 宾川县| 涿鹿县| 唐河县| 盈江县| 勐海县| 漳平市| 视频| 敖汉旗| 广宁县| 无极县| 新丰县| 盈江县| 东丰县| 平原县| 黄山市| 临漳县| 龙江县| 瓮安县| 绍兴市| 报价| 曲阜市| 双城市| 临海市| 济宁市| 威远县| 云林县| 淮北市| 来安县| 鄱阳县|