最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
怎么在webpack4中對(duì)SCSS進(jìn)行處理

今天就跟大家聊聊有關(guān)怎么在webpack4中對(duì)SCSS進(jìn)行處理,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司自成立以來(lái),一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、電子商務(wù)、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個(gè)性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營(yíng)銷服務(wù)。公司擁有豐富的網(wǎng)站建設(shè)和互聯(lián)網(wǎng)應(yīng)用系統(tǒng)開發(fā)管理經(jīng)驗(yàn)、成熟的應(yīng)用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團(tuán)隊(duì)及專業(yè)的網(wǎng)站設(shè)計(jì)師團(tuán)隊(duì)。

1. 準(zhǔn)備工作

目錄結(jié)構(gòu)

怎么在webpack4中對(duì)SCSS進(jìn)行處理

這次我們需要用到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代碼如下:




 
 
 
 Document


 

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é)點(diǎn)
     },
     {
      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é)果

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

怎么在webpack4中對(duì)SCSS進(jìn)行處理

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

處理sass文件

1.安裝sass和sass-loader

cnpm i node-sass sass-loader -D

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

$color:green;

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

自動(dòng)添加css前綴

postCss 預(yù)處理器

專門處理css平臺(tái)

1.下載

cnpm i postcss-loader autoprefixer -D

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

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

3.配置postcss-loader,自動(dòng)添加css前綴

module:{ //我寫一個(gè)module
//配置一個(gè)rules(規(guī)則),rules是一個(gè)數(shù)組,里面包含一條一條的規(guī)則
rules:[
{
// test 表示測(cè)試什么文件類型
test:/\.css$/,
// 使用 'style-loader','css-loader'
use:ExtractTextPlugin.extract({
fallback:'style-loader', // 回滾
use:[
{loader:'css-loader'},
{loader:'postcss-loader'} //利用postcss-loader自動(dòng)添加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選項(xiàng)參數(shù)可以定義多大的圖片轉(zhuǎn)換為base64
limit:50000, // 表示小于50kb的圖片轉(zhuǎn)為base64,大于50kb的是路徑
outputPath:'images' //定義輸出的圖片文件夾
}
}]
}
]
},

自動(dòng)消除冗余的css代碼

使用Purifycss

1.下載

cnpm i purifycss-webpack purify-css -D

2.引入插件

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

3.需要引入一個(gè)額外模塊,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", 就自動(dòng)壓縮額
//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里面的方法,主要用來(lái)合并路徑的
// 'src/*.html' 表示掃描每個(gè)html的css
paths:glob.sync(path.join(__dirname,'src/*.html')) 
})
]

看完上述內(nèi)容,你們對(duì)怎么在webpack4中對(duì)SCSS進(jìn)行處理有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


新聞標(biāo)題:怎么在webpack4中對(duì)SCSS進(jìn)行處理
文章源于:http://fisionsoft.com.cn/article/iedddp.html