<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關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        webpack4 處理SCSS的方法示例

        來源:懂視網 責編:小采 時間:2020-11-27 22:08:37
        文檔

        webpack4 處理SCSS的方法示例

        webpack4 處理SCSS的方法示例:這節課講解webpack4中處理scss。只需要在處理css的配置上增加編譯scss的 LOADER 即可。 1. 準備工作 為了方便敘述,這次代碼目錄的樣式文件只有一個scss文件,以幫助我們了解核心 LOADER 的使用。 下圖展示了這次的目錄代碼結構: 目錄結構 這次我們需
        推薦度:
        導讀webpack4 處理SCSS的方法示例:這節課講解webpack4中處理scss。只需要在處理css的配置上增加編譯scss的 LOADER 即可。 1. 準備工作 為了方便敘述,這次代碼目錄的樣式文件只有一個scss文件,以幫助我們了解核心 LOADER 的使用。 下圖展示了這次的目錄代碼結構: 目錄結構 這次我們需

        這節課講解webpack4中處理scss。只需要在處理css的配置上增加編譯scss的 LOADER 即可。

        1. 準備工作

        為了方便敘述,這次代碼目錄的樣式文件只有一個scss文件,以幫助我們了解核心 LOADER 的使用。

        下圖展示了這次的目錄代碼結構: 目錄結構

        這次我們需要用到node-sass,sass-loader等 LOADER,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"
         }
        }
        

        其中,base.scss代碼如下:

        $bgColor: red !default;
        *,
        body {
         margin: 0;
         padding: 0;
        }
        html {
         background-color: $bgColor;
        }
        

        index.html代碼如下:

        <!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>
        </head>
        <body>
         <script src="./dist/app.bundle.js"></script>
        </body>
        </html>
        

        2. 編譯打包scss

        首先,在入口文件app.js中引入我們的 scss 樣式文件:

        import "./scss/base.scss";

        下面,開始編寫webpack.config.js文件:

        const path = require("path");
        
        module.exports = {
         entry: {
         app: "./src/app.js"
         },
         output: {
         publicPath: __dirname + "/dist/",
         path: path.resolve(__dirname, "dist"),
         filename: "[name].bundle.js"
         },
         module: {
         rules: [
         {
         test: /\.scss$/,
         use: [
         {
         loader: "style-loader" // 將 JS 字符串生成為 style 節點
         },
         {
         loader: "css-loader" // 將 CSS 轉化成 CommonJS 模塊
         },
         {
         loader: "sass-loader" // 將 Sass 編譯成 CSS
         }
         ]
         }
         ]
         }
        };
        
        

        需要注意的是,module.rules.use數組中,loader 的位置。根據 webpack 規則:放在最后的 loader 首先被執行。所以,首先應該利用sass-loader將 scss 編譯為 css,剩下的配置和處理 css 文件相同。

        3. 檢查打包結果

        因為 scss 是 css 預處理語言,所以我們要檢查下打包后的結果,打開控制臺,如下圖所示:

        同時,對于其他的 css 預處理語言,處理方式一樣,首先應該編譯成 css,然后交給 css 的相關 loader 進行處理。

        處理sass文件

        1.安裝sass和sass-loader

        cnpm i node-sass sass-loader -D

        創建一個src/sass/a.sass文件

        $color:green;
        
        #div2{
        color: $color;
        }
        module:{ //我寫一個module
        //配置一個rules(規則),rules是一個數組,里面包含一條一條的規則
        rules:[
        {
        // test 表示測試什么文件類型
        test:/\.css$/,
        // 使用 'style-loader','css-loader'
        use:ExtractTextPlugin.extract({
        fallback:'style-loader', // 回滾
        use:'css-loader',
        publicPath:'../' //解決css背景圖的路徑問題
        })
        },
        {
        test:/\.less$/,
        use:ExtractTextPlugin.extract({ //分離less編譯后的css文件
        fallback:'style-loader',
        use:['css-loader','less-loader']
        })
        },
        {
        test:/\.(sass|scss)$/,
        use:['style-loader','css-loader','sass-loader']
        },
        {
        test:/\.(png|jpg|gif)$/,
        use:[{
        loader:'url-loader',
        options:{ // 這里的options選項參數可以定義多大的圖片轉換為base64
        limit:50000, // 表示小于50kb的圖片轉為base64,大于50kb的是路徑
        outputPath:'images' //定義
        輸出的圖片文件夾 } }] } ] },

        自動添加css前綴

        postCss 預處理器

        專門處理css平臺

        1.下載

        cnpm i postcss-loader autoprefixer -D

        2.準備建一個 postcss.config.js文件 配置postcss的

        module.exports = {
        plugins:[
        require('autoprefixer') // 自動添加css前綴
        ]
        }
        

        3.配置postcss-loader,自動添加css前綴

        module:{ //我寫一個module
        //配置一個rules(規則),rules是一個數組,里面包含一條一條的規則
        rules:[
        {
        // test 表示測試什么文件類型
        test:/\.css$/,
        // 使用 'style-loader','css-loader'
        use:ExtractTextPlugin.extract({
        fallback:'style-loader', // 回滾
        use:[
        {loader:'css-loader'},
        {loader:'postcss-loader'} //利用postcss-loader自動添加css前綴
        ],
        publicPath:'../' //解決css背景圖的路徑問題
        })
        },
        {
        test:/\.less$/,
        use:ExtractTextPlugin.extract({ //分離less編譯后的css文件
        fallback:'style-loader',
        use:['css-loader','less-loader']
        })
        },
        {
        test:/\.(sass|scss)$/,
        use:['style-loader','css-loader','sass-loader']
        },
        {
        test:/\.(png|jpg|gif)$/,
        use:[{
        loader:'url-loader',
        options:{ // 這里的options選項參數可以定義多大的圖片轉換為base64
        limit:50000, // 表示小于50kb的圖片轉為base64,大于50kb的是路徑
        outputPath:'images' //定義
        輸出的圖片文件夾 } }] } ] },

        自動消除冗余的css代碼

        使用Purifycss

        1.下載

        cnpm i purifycss-webpack purify-css -D

        2.引入插件

        const PurifyCssWebpack = require('purifycss-webpack');

        3.需要引入一個額外模塊,glob掃描路徑

        cnpm i glob -D

        4.引入glob

        const glob = require('glob');

        5.在plugins里面配置

        plugins:[
        // Uglify是壓縮js,現在已經不需要了,只需要在script里面寫成
        // "build": "webpack --mode production", 就自動壓縮額
        //new Uglify(), 
        new Webpack.HotModuleReplacementPlugin(),
        new HtmlWebpackPlugin({
        title:'Hello World',
        template: './src/index.html' //模板地址
        }),
        new ExtractTextPlugin('css/index.css'), //都提到dist目錄下的css目錄中,文件名是index.css里面
        new PurifyCssWebpack({ //消除冗余代碼
        // 首先保證找路徑不是異步的,所以這里用同步的方法
        // path.join()也是path里面的方法,主要用來合并路徑的
        // 'src/*.html' 表示掃描每個html的css
        paths:glob.sync(path.join(__dirname,'src/*.html')) 
        })
        ]

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

        文檔

        webpack4 處理SCSS的方法示例

        webpack4 處理SCSS的方法示例:這節課講解webpack4中處理scss。只需要在處理css的配置上增加編譯scss的 LOADER 即可。 1. 準備工作 為了方便敘述,這次代碼目錄的樣式文件只有一個scss文件,以幫助我們了解核心 LOADER 的使用。 下圖展示了這次的目錄代碼結構: 目錄結構 這次我們需
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲香蕉网久久综合影视| 久久精品国产亚洲AV电影| 亚洲人成小说网站色| 在线a免费观看最新网站| 亚洲精品成人av在线| 16女性下面无遮挡免费| 亚洲一级毛片免费看| 在线观看免费人成视频色9| 亚洲中文字幕久久久一区| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产精品网站在线观看免费传媒 | 久久久久久亚洲精品不卡| 亚洲精品视频免费| 亚洲第一AAAAA片| 99爱免费观看视频在线| 亚洲国产精品网站久久| 好男人看视频免费2019中文| 国产亚洲人成A在线V网站| 你懂的在线免费观看| 久久亚洲精品成人av无码网站| 2019中文字幕免费电影在线播放| 99亚偷拍自图区亚洲| 四虎永久免费网站免费观看| aaa毛片免费观看| 亚洲大尺码专区影院| 国产一区在线观看免费| 热久久这里是精品6免费观看| 亚洲an天堂an在线观看| 一级特黄录像免费播放肥| 亚洲福利在线观看| 好爽又高潮了毛片免费下载| 久香草视频在线观看免费| 久久久久亚洲AV无码专区首| 成年女人免费碰碰视频| 一个人看的hd免费视频| 亚洲日本在线免费观看| 亚洲成av人片天堂网老年人| 最近中文字幕电影大全免费版 | 亚洲AV无码精品国产成人| 国产精品亚洲片在线| 久久精品a一国产成人免费网站|