<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        webpack4 SCSS提取和懶加載的示例

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:08:38
        文檔

        webpack4 SCSS提取和懶加載的示例

        webpack4 SCSS提取和懶加載的示例:本節(jié)課講解在webpack v4中的 SCSS 提取和懶加載。值得一提的是,v4和v3在 Scss 的懶加載上的處理方法有著巨大差別。 >>> 本節(jié)課源碼 >>> 所有課程源碼 1. 準(zhǔn)備工作 關(guān)于 SCSS 處理的基礎(chǔ),請參考webpack4 處理 SCSS。 本
        推薦度:
        導(dǎo)讀webpack4 SCSS提取和懶加載的示例:本節(jié)課講解在webpack v4中的 SCSS 提取和懶加載。值得一提的是,v4和v3在 Scss 的懶加載上的處理方法有著巨大差別。 >>> 本節(jié)課源碼 >>> 所有課程源碼 1. 準(zhǔn)備工作 關(guān)于 SCSS 處理的基礎(chǔ),請參考webpack4 處理 SCSS。 本

        本節(jié)課講解在webpack v4中的 SCSS 提取和懶加載。值得一提的是,v4v3在 Scss 的懶加載上的處理方法有著巨大差別。

        >>> 本節(jié)課源碼

        >>> 所有課程源碼

        1. 準(zhǔn)備工作

        關(guān)于 SCSS 處理的基礎(chǔ),請參考webpack4 處理 SCSS。

        本節(jié)課主要涉及 SCSS 在懶加載下提取的相關(guān)配置和插件使用。

        下圖展示了這次的目錄代碼結(jié)構(gòu):

        為了實(shí)現(xiàn) SCSS 懶加載,我們使用了extract-text-webpack-plugin插件。

        需要注意,在安裝插件的時候,應(yīng)該安裝針對v4版本的extract-text-webpack-plugin。npm 運(yùn)行如下命令:npm install --save-dev extract-text-webpack-plugin@next

        其余配置,與第六課相似。package.json配置如下:

        {
         "devDependencies": {
         "css-loader": "^1.0.0",
         "extract-text-webpack-plugin": "^4.0.0-beta.0",
         "node-sass": "^4.9.2",
         "sass-loader": "^7.0.3",
         "style-loader": "^0.21.0",
         "webpack": "^4.16.0"
         }
        }

        關(guān)于我們的 scss 文件下的樣式文件,base.scss:

        // 網(wǎng)站默認(rèn)背景色:red
        $bgColor: red !default;
        *,
        body {
         margin: 0;
         padding: 0;
        }
        html {
         background-color: $bgColor;
        }

        common.scss:

        // 覆蓋原來顏色:green
        html {
         background-color: green !important;
        }

        2. 使用ExtractTextPlugin

        使用extract-text-webpack-plugin,需要在webpack.config.jsplugins選項(xiàng)和rulesscss的相關(guān)選項(xiàng)進(jìn)行配置。

        webpack.config.js:

        const path = require("path");
        const ExtractTextPlugin = require("extract-text-webpack-plugin");
        
        module.exports = {
         entry: {
         app: "./src/app.js"
         },
         output: {
         publicPath: __dirname + "/dist/",
         path: path.resolve(__dirname, "dist"),
         filename: "[name].bundle.js",
         chunkFilename: "[name].chunk.js"
         },
         module: {
         rules: [
         {
         test: /\.scss$/,
         use: ExtractTextPlugin.extract({
         // 注意 1
         fallback: {
         loader: "style-loader"
         },
         use: [
         {
         loader: "css-loader",
         options: {
         minimize: true
         }
         },
         {
         loader: "sass-loader"
         }
         ]
         })
         }
         ]
         },
         plugins: [
         new ExtractTextPlugin({
         filename: "[name].min.css",
         allChunks: false // 注意 2
         })
         ]
        };

        在配置中,注意 1中的callback配置項(xiàng),針對 不提取為單獨(dú)css文件的scss樣式 應(yīng)該使用的 LOADER。即使用style-loader將 scss 處理成 css 嵌入網(wǎng)頁代碼。

        注意 2中的allChunks必須指明為false。否則會包括異步加載的 CSS!

        3. SCSS引用和懶加載

        在項(xiàng)目入口文件app.js中,針對 scss 懶加載,需要引入以下配置代碼:

        import "style-loader/lib/addStyles";
        import "css-loader/lib/css-base";

        剩下我們先設(shè)置背景色為紅色,在用戶點(diǎn)擊鼠標(biāo)后,懶加載common.scss,使背景色變?yōu)榫G色。剩余代碼如下:

        import "./scss/base.scss";
        
        var loaded = false;
        window.addEventListener("click", function() {
         if (!loaded) {
         import(/* webpackChunkName: 'style'*/ "./scss/common.scss").then(_ => {
         // chunk-name : style
         console.log("Change bg-color of html");
         loaded = true;
         });
         }
        });

        4. 打包和引入

        根據(jù)我們在app.js中的webpackChunkName的配置,可以猜測,打包結(jié)果中有:style.chunk.js 文件。

        命令行執(zhí)行webpack打包后,/dist/目錄中的打包結(jié)果如下:

        最后,我們需要在 html 代碼中引入打包結(jié)果中的、非懶加載的樣式(/dist/app.min.css)和 js 文件(/dist/app.bundle.js)。

        <!DOCTYPE html>
        <html lang="en">
        <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <meta http-equiv="X-UA-Compatible" content="ie=edge">
         <title>Document</title>
         <link rel="stylesheet" href="./dist/app.min.css" rel="external nofollow" >
        </head>
        <body>
         <script src="./dist/app.bundle.js"></script>
        </body>
        </html>

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        webpack4 SCSS提取和懶加載的示例

        webpack4 SCSS提取和懶加載的示例:本節(jié)課講解在webpack v4中的 SCSS 提取和懶加載。值得一提的是,v4和v3在 Scss 的懶加載上的處理方法有著巨大差別。 >>> 本節(jié)課源碼 >>> 所有課程源碼 1. 準(zhǔn)備工作 關(guān)于 SCSS 處理的基礎(chǔ),請參考webpack4 處理 SCSS。 本
        推薦度:
        • 熱門焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 人妻无码久久一区二区三区免费| 亚洲s码欧洲m码吹潮| 91av免费在线视频| 亚洲国产一区二区三区| 国产亚洲综合久久| 亚洲国产a级视频| 国产精品hd免费观看| 亚洲精品99久久久久中文字幕| 黄页网站在线视频免费| 久久亚洲AV无码西西人体| 在线看片免费人成视频久网下载 | 未满十八18禁止免费无码网站| 亚洲国产第一站精品蜜芽| 亚洲免费在线播放| 亚洲妓女综合网99| 成年性午夜免费视频网站不卡| 亚洲jizzjizz少妇| 亚洲区小说区图片区QVOD| 亚洲国产精品免费视频| 亚洲国产亚洲综合在线尤物| 好爽…又高潮了毛片免费看| 菠萝菠萝蜜在线免费视频| 亚洲愉拍99热成人精品热久久| 国产成人AV片无码免费| 亚洲av无码国产综合专区| 国产成人精品男人免费| 久久99久久成人免费播放| 亚洲视频在线观看一区| 最近高清国语中文在线观看免费| 精品国产日韩亚洲一区在线| 夜夜春亚洲嫩草影院| 亚洲免费在线观看视频| 粉色视频成年免费人15次| 亚洲国产精品福利片在线观看| 一个人免费观看www视频在线| 免费播放国产性色生活片| 亚洲精品天天影视综合网| 四虎免费在线观看| 鲁丝片一区二区三区免费| 亚洲卡一卡二卡乱码新区| 精品亚洲综合在线第一区|