国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【W(wǎng)ebpack 性能優(yōu)化系列(3) - oneOf】

myshell / 1955人閱讀

摘要:當(dāng)一個文件要被多個處理,那么一定要指定執(zhí)行的先后順序先執(zhí)行在執(zhí)行參考

webpack系列文章:

oneOf

我們在寫loader的時候,rules里面有非常非常多的loader規(guī)則,但是每個文件只能匹配一個 loader,被一個 loader 處理,因此可以使用 oneOf 唯一匹配,不需要每個文件把所有的 loader 都詢問一遍,這樣可以提高 loader 的執(zhí)行效率

webpack.config.js寫法配置如下:

const { resolve } = require("path");const MiniCssExtractPlugin = require("mini-css-extract-plugin");const OptimizeCssAssetsWebpackPlugin = require("optimize-css-assets-webpack-plugin");const HtmlWebpackPlugin = require("html-webpack-plugin");// 定義nodejs環(huán)境變量:決定使用browserslist的哪個環(huán)境process.env.NODE_ENV = "production";// 復(fù)用loaderconst commonCssLoader = [  MiniCssExtractPlugin.loader,  "css-loader",  {    // 還需要在package.json中定義browserslist    loader: "postcss-loader",    options: {      ident: "postcss",      plugins: () => [require("postcss-preset-env")()]    }  }];module.exports = {  entry: "./src/js/index.js",  output: {    filename: "js/built.js",    path: resolve(__dirname, "build")  },  module: {    rules: [      {        // 在package.json中eslintConfig --> airbnb        test: //.js$/,        exclude: /node_modules/,        // 優(yōu)先執(zhí)行        enforce: "pre",//正常的,一個文件只能被一個loader處理,當(dāng)一個文件要被多個loader處理,        			   //一定要指定loader執(zhí)行的先后順序,先執(zhí)行eslint再執(zhí)行babel        loader: "eslint-loader",        options: {          fix: true        }      },      {        // 以下loader只會匹配一個        // 注意:不能有兩個配置處理同一種類型文件,所以eslint-loader放在oneOf匹配之前執(zhí)行        oneOf: [          {            test: //.css$/,            use: [...commonCssLoader]          },          {            test: //.less$/,            use: [...commonCssLoader, "less-loader"]          },          /*            正常來講,一個文件只能被一個loader處理。            當(dāng)一個文件要被多個loader處理,那么一定要指定loader執(zhí)行的先后順序:              先執(zhí)行eslint 在執(zhí)行babel          */          {            test: //.js$/,            exclude: /node_modules/,            loader: "babel-loader",            options: {              presets: [                [                  "@babel/preset-env",                  {                    useBuiltIns: "usage",                    corejs: {version: 3},                    targets: {                      chrome: "60",                      firefox: "50"                    }                  }                ]              ]            }          },          {            test: //.(jpg|png|gif)/,            loader: "url-loader",            options: {              limit: 8 * 1024,              name: "[hash:10].[ext]",              outputPath: "imgs",              esModule: false            }          },          {            test: //.html$/,            loader: "html-loader"          },          {            exclude: //.(js|css|less|html|jpg|png|gif)/,            loader: "file-loader",            options: {              outputPath: "media"            }          }        ]      }    ]  },  plugins: [    new MiniCssExtractPlugin({      filename: "css/built.css"    }),    new OptimizeCssAssetsWebpackPlugin(),    new HtmlWebpackPlugin({      template: "./src/index.html",      minify: {        collapseWhitespace: true,        removeComments: true      }    })  ],  mode: "production"};

參考

  • https://www.bilibili.com/video/BV1e7411j7T5?p=6&spm_id_from=pageDriver
  • https://www.cnblogs.com/cl1998/p/13210438.html
  • https://webpack.docschina.org/configuration/module/#ruleoneof

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/118890.html

相關(guān)文章

  • 從零開始的Webpack4教程

    摘要:插件則可以用于執(zhí)行范圍更廣的任務(wù)。插件的范圍包括,從打包優(yōu)化和壓縮,一直到重新定義環(huán)境中的變量等。插件的使用一般是在的配置信息選項中指定。到這里基本配置已經(jīng)告一段落了,所有配置我已經(jīng)放在倉庫中第二期優(yōu)化教程已出歡迎關(guān)注和提問 1、了解Webpack相關(guān) 什么是webpack Webpack是一個模塊打包器(bundler)。 在Webpack看來, 前端的所有資源文件(js/js...

    ShevaKuilin 評論0 收藏0
  • 基于 react, redux 最佳實踐構(gòu)建的 2048

    摘要:最佳實踐一個文件一個組件。,這是包含的是無副作用的純函數(shù)式計算狀態(tài)操作的函數(shù)。,的啟動腳本,啟動開發(fā)模式,項目打包,運行單元測試等等。每次代碼推送到之前也會執(zhí)行所有單元測試用例,全部通過才可以繼續(xù)推送。,首次安裝依賴包之后生成的文件。 前段時間 React license 的問題鬧的沸沸揚揚,搞得 React 社區(qū)人心惶惶,好在最終 React 團(tuán)隊聽取了社區(qū)意見把 license 換...

    Eidesen 評論0 收藏0
  • react學(xué)習(xí)日記第一記-webpack配置

    摘要:對于前端開發(fā)者來說,無論使用還是還是,打包工具的配置永遠(yuǎn)都是一個必須的過程,因為這決定了打包出來項目的大小,資源占用,以及運行速度。所以自己就動手嘗試配置一下。 對于前端開發(fā)者來說,無論使用vue 還是react還是angular,打包工具的配置永遠(yuǎn)都是一個必須的過程,因為這決定了打包出來項目的大小,資源占用,以及運行速度。 由于之前的項目一直都是在使用vue,對于vue的webpa...

    Shonim 評論0 收藏0
  • react學(xué)習(xí)日記第一記-webpack配置

    摘要:對于前端開發(fā)者來說,無論使用還是還是,打包工具的配置永遠(yuǎn)都是一個必須的過程,因為這決定了打包出來項目的大小,資源占用,以及運行速度。所以自己就動手嘗試配置一下。 對于前端開發(fā)者來說,無論使用vue 還是react還是angular,打包工具的配置永遠(yuǎn)都是一個必須的過程,因為這決定了打包出來項目的大小,資源占用,以及運行速度。 由于之前的項目一直都是在使用vue,對于vue的webpa...

    zhkai 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<