国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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:37
文檔

webpack4 處理SCSS的方法示例

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

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

1. 準(zhǔn)備工作

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

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

這次我們需要用到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 節(jié)點
 },
 {
 loader: "css-loader" // 將 CSS 轉(zhuǎn)化成 CommonJS 模塊
 },
 {
 loader: "sass-loader" // 將 Sass 編譯成 CSS
 }
 ]
 }
 ]
 }
};

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

3. 檢查打包結(jié)果

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

同時,對于其他的 css 預(yù)處理語言,處理方式一樣,首先應(yīng)該編譯成 css,然后交給 css 的相關(guān) loader 進(jìn)行處理。

處理sass文件

1.安裝sass和sass-loader

cnpm i node-sass sass-loader -D

創(chuàng)建一個src/sass/a.sass文件

$color:green;

#div2{
color: $color;
}
module:{ //我寫一個module
//配置一個rules(規(guī)則),rules是一個數(shù)組,里面包含一條一條的規(guī)則
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選項參數(shù)可以定義多大的圖片轉(zhuǎn)換為base64
limit:50000, // 表示小于50kb的圖片轉(zhuǎn)為base64,大于50kb的是路徑
outputPath:'images' //定義
輸出的圖片文件夾 } }] } ] },

自動添加css前綴

postCss 預(yù)處理器

專門處理css平臺

1.下載

cnpm i postcss-loader autoprefixer -D

2.準(zhǔn)備建一個 postcss.config.js文件 配置postcss的

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

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

module:{ //我寫一個module
//配置一個rules(規(guī)則),rules是一個數(shù)組,里面包含一條一條的規(guī)則
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選項參數(shù)可以定義多大的圖片轉(zhuǎn)換為base64
limit:50000, // 表示小于50kb的圖片轉(zhuǎn)為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,現(xiàn)在已經(jīng)不需要了,只需要在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')) 
})
]

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

文檔

webpack4 處理SCSS的方法示例

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

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲色图欧美一区 | 日本三级免费 | 国产日韩一区二区三区在线播放 | 日韩在线精品视频 | 国外欧美一区另类中文字幕 | 国产偷窥在线观看 | 国产久草视频 | 四虎精品永久在线 | 亚洲精品制服丝袜二区 | 欧美 国产 日韩 第一页 | 日韩在线第三页 | 成人国产精品久久久免费 | 国产精选视频 | 欧美精品久久久久久久久大尺度 | 国产精品美女一区二区三区 | 亚洲欧美日韩在线观看 | 91亚洲国产成人久久精品网站 | 国产一区精品视频 | 亚洲精品国产第七页在线 | 亚洲精品美女久久久aaa | 极品美女户外勾搭无套 | 欧美 亚洲 校园 第一页 | 欧美高清不卡 | 欧美视频精品一区二区三区 | 久久久国产一区二区三区 | 青青草国产在线视频 | www.亚洲欧美| 国产淫语打电话对白在线播放 | 毛片激情永久免费 | 91.久久 | 免费一级 一片一毛片 | 亚洲欧美偷拍另类 | 国产区最新 | 国产精品1000部在线观看 | 国产亚洲一区二区精品 | 337p日本欧洲亚洲大胆精品 | 欧美瑟图| 成人精品视频在线观看播放 | 日韩精品欧美视频 | 91九色国产porny| 亚洲精品视频区 |