怎么在webpack4中对SCSS进行处理

  介绍

今天就跟大家聊聊有关怎么在webpack4中对SCSS进行处理,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<强> 1。准备工作

目录结构

怎么在webpack4中对SCSS进行处理

这次我们需要用到node-sass, sass-loader等装载机,包。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"   ,}   }

其中,基地。scss代码如下:

告诉我们:美元,red  !违约;   *,   body  {   ,保证金:0;   ,填充:0;   }   html  {   美元,背景颜色:背景;   }

索引。html代码如下:

& lt; ! DOCTYPE  html>   & lt; html  lang=癳n"祝辞   & lt; head>   ,& lt; meta  charset=癠TF-8"比;   ,& lt; meta  name=皏iewport",内容=翱矶?设备宽度,初始=1.0,比;   ,& lt; meta  http-equiv=癤-UA-Compatible",内容=癷e=edge"比;   ,& lt; title> Document   & lt;/head>   & lt; body>   ,& lt; script  src=https://www.yisu.com/zixun/薄?dist/app.bundle.js ">   身体   

<强> 2。编译打包scss

首先,在入口文件应用。js中引入我们的scss样式文件:

import “。/scss/base.scss"

下面,开始编写webpack.config。js文件:

const  path =,要求(“path");      module.exports =, {   ,条目:{   应用程序才能:“。/src/app.js"   },   ,输出:{   ,,publicPath: __dirname  +,“/dist/?   ,,路径:path.resolve (__dirname,“dist"),   ,,文件名:“[名字].bundle.js"   },   ,模块:{   规则:,才能   ,,{   ,,,测试:,/\ .scss/美元,   ,,,使用:,(   ,,,,{   ,,,,,装载机:,“style-loader",//,将,JS 字符串生成为,style 节点   ,,,,},   ,,,,{   ,,,,,装载机:,“css-loader",//,将,CSS 转化成,CommonJS 模块   ,,,,},   ,,,,{   ,,,,,装载机:,“sass-loader",//,将,Sass 编译成,CSS   ,,,,}   ,,,)   ,,}   ,,)   ,}   };

需要注意的是,module.rules.use数组中,装载机的位置,根据webpack规则:放在最后的装载机首先被执行。所以,首先应该利用sass-loader将scss编译为css,剩下的配置和处理css文件相同。

<强> 3。检查打包结果

因为scss是css预处理语言,所以我们要检查下打包后的结果,打开控制台,如下图所示:

怎么在webpack4中对scss进行处理

同时,对于其他的css预处理语言,处理方式一样,首先应该编译成css,然后交给css的相关装载机进行处理。

<强>处理sass文件

1。安装sass和sass-loader

cnpm 小姐:node-sass  sass-loader  - d

创建一个src/sass/a。sass文件

美元颜色:绿色;      # div2 {   颜色:颜色美元;   } 模块:{,//我写一个模块//配置一个规则(规则),规则是一个数组,里面包含一条一条的规则   规则:[   {//,test 表示测试什么文件类型   测试:/\ . css/美元,//,使用,& # 39;style-loader& # 39; & # 39; css-loader& # 39;   用途:ExtractTextPlugin.extract ({   回退:& # 39;style-loader& # 39;,,//,回滚   用途:& # 39;css-loader& # 39;   publicPath: & # 39; . ./& # 39;,//解决css背景图的路径问题   })   },   {   测试:/\ .less/美元,   用途:ExtractTextPlugin.extract({,//分离少编译后的css文件   回退:& # 39;style-loader& # 39;   用途:[& # 39;css-loader& # 39; & # 39; less-loader& # 39;】   })   },   {   测试:/\。(sass | scss)/美元,   使用:[& # 39;style-loader& # 39; & # 39; css-loader& # 39;, & # 39; sass-loader& # 39;】   },   {   测试:/\。(png | jpg | gif)/美元,   用途:[{   装载机:& # 39;url-loader& # 39;   选择:{//大敌;这里的选项选项参数可以定义多大的图片转换为base64   限制:50000,,//,表示小于50 kb的图片转为base64,大于50 kb的是路径   outputPath: & # 39;图像# 39;,//定义输出的图片文件夹   }   })   }   ]   },

怎么在webpack4中对SCSS进行处理