整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          webpack loader使用

          節我們來學習 webpackloader 加載器的使用,那么什么是 loader 呢。從本質上來說,loader 就是一個 Node.js 模塊,在 webpack 的定義中,loader 導出一個函數,loader 會在轉換源模塊的時候調用該函數。

          webpack 本身依然是只能處理 JS 文件的,但是通過一系列的 loader ,就可以處理其他文件啦。例如 LessSass,以前我們編譯這些 CSS 預處理器,需要使用 gulp 進行編譯,而顯示可以通過 webpack 中的 loader 加載器來實現。

          常見loader

          webpack 中有一系列的 loader,在實際項目中,我們會根據不同的需求使用到不同的 loader。例如 webpack 中的一些常見 loader 如下所示:

          • css-loader : 用于處理 css 文件,使得能在 js 文件中引入使用。
          • style-loader : 用于將 css 文件注入到 index.html 中的 <style> 標簽上。
          • less-loader:處理 less 代碼。
          • sass-loader: 處理 sass 代碼。
          • postcss-loader:用 postcss 來處理 CSS代碼。
          • babel-loader:用 babel 來轉換 ES6 文件到 ES5。
          • file-loader:打包圖片,打包字體圖標。
          • url-loader:和 file-loader 類似,但是當文件小于設定的 limit 時,可以返回一個 DataUrl(提升網頁性能)。
          • html-withimg-loader:打包 HTML 文件中的圖片。
          • eslint-loader:用于檢查常見的 JavaScript 代碼錯誤,也可以進行"代碼規范"檢查。

          loader的安裝和配置

          我們可以在 webpack.config.js 配置文件中配置 loader,可以在 module.rules 中指定一個或多個 loader

          通過配置loader 的兩個屬性來實現:

          • test 屬性:用來標識出應該被對應的 loader 進行轉換的某個或多個文件。
          • use 屬性:表示轉換時要用哪個 loader

          示例:

          例如默認情況下 webpack 只能打包 JS 文件,不能識別其他例如 CSS、Less、image等類型的文件,那么如果我們想要打包 CSS 樣式文件,可以在 webpack 中使用 loader 加載器,可以將一種文件轉換為另一種文件,將webpack不能識別的其它類型文件轉換為 webpack 可識別 JS 類型文件。

          首先需要安裝 style-loadercss-loader ,安裝命令如下所示:

          npm install css-loader style-loader --save-dev
          

          命令執行成功后,這兩個 loader 會自動添加到 package.json 的依賴中,如下所示:

          "devDependencies": {
              "css-loader": "^3.6.0",
              "style-loader": "^1.2.1",
              "webpack": "^4.43.0",
              "webpack-dev-server": "^3.11.0"
            }
          

          然后在 webpack.config.js 中配置 loader,在 module 屬性的 rule 屬性中配置 loader 規則:

          module:{
              rules:[{
                  test:/.css$/,
                  use:['style-loader','css-loader']
              }]
          }
          

          這里表示匹配所有 .css 后綴結尾的文件,通過 style-loadercss-loader 加載器進行轉換后再編譯。

          然后我們創建一個 xkd.css 文件,內容如下所示:

          p{
              font-size: 12px;
              color: red;
          }
          

          并將 xkd.css 文件導入到 index.js 入口文件中:

          document.write('你好,俠課島!');
          
          // 導入 CSS 文件
          import "./xkd.css";
          

          然后我們執行打包命令后會重新生成打包文件,會發現 xkd.css 文件也成功打包到 bundle.js 文件中。

          這就是 loader 的基本使用流程,先安裝loader,然后在配置文件中配置 loader ,最后再進行打包就可以啦。

          loader 特性

          • loader 支持鏈式調用,鏈中的每個 loader 會將轉換應用在已處理過的資源上。一組鏈式的 loader 將按照相反的順序執行。鏈中的第一個 loader 將其結果傳遞給下一個 loader,依此類推。
          • loader 可以是同步的,也可以是異步的。
          • loader 運行在 Node.js 中,并且能夠執行任何操作。
          • loader 也可以內聯顯示指定。
          • loader 可以通過 options 對象配置。
          • 除了常見的通過 package.jsonmain 來將一個 npm 模塊導出為 loader,還可以在 module.rules 中使用 loader 字段直接引用一個模塊。
          • 插件(plugin)可以為 loader 帶來更多特性。
          • loader 能夠產生額外的任意文件。

          的:因為傳統的link加載css樣式會發起二次請求,所以我們需要在webpack中使用loader加載css樣式

          準備:你需要準備一個已經配置好的webpack項目

          配置cssloader

          第一步:安裝相對應的插件 (cnpm i style-loader css-loader -D)

          如果出現警告說:需要依賴webpack就再安裝一下

          第二步:配置webpack.config.js

          配置less loader

          第一步:安裝插件(cnpm i less-loader less -D)

          第二步:配置

          配置sass loader

          第一步:安裝插件 (cnpm i sass-loader node-sass -D)

          第二步:配置

          測試

          mian.js

          index.css & index.scss

          index.html

          啟動項目

          結果:


          者: 秋天不落葉

          轉發鏈接:https://mp.weixin.qq.com/s/KmDLcJ0jhB667ZouDB8tyg


          主站蜘蛛池模板: 中文字幕一区在线观看视频| 国产福利一区二区| 麻豆一区二区99久久久久| 国产精品久久一区二区三区| 精品久久综合一区二区| 日本片免费观看一区二区| 亚洲日韩精品无码一区二区三区| 亚州AV综合色区无码一区| 性无码免费一区二区三区在线 | 国产精品毛片一区二区| 日韩一区二区在线播放| 国产福利精品一区二区| 精品国产一区二区三区2021| 国产一区二区三区不卡在线看| 国产精品第一区揄拍| 无码人妻视频一区二区三区| 亚洲韩国精品无码一区二区三区| 亚洲福利精品一区二区三区| 精品中文字幕一区二区三区四区 | 好湿好大硬得深一点动态图91精品福利一区二区| 99精品一区二区免费视频| 少妇激情一区二区三区视频| 免费人妻精品一区二区三区| 国产一区二区三区久久| 国产午夜精品一区二区三区极品 | 精品aⅴ一区二区三区| 精品无码综合一区| 亚洲AⅤ视频一区二区三区| 日韩熟女精品一区二区三区| 国产一区中文字幕在线观看| 一区二区三区四区精品| 天堂不卡一区二区视频在线观看 | 精品aⅴ一区二区三区| 亚洲无人区一区二区三区| 国语精品一区二区三区| 亚洲视频一区调教| 亚洲欧美日韩国产精品一区| 国精产品999一区二区三区有限 | 91精品福利一区二区| 免费看AV毛片一区二区三区| 加勒比精品久久一区二区三区|