这节课讲解webpack4
中处理scss
。只须要在处理css
的配置上增长编译scss
的 LOADER 便可。 了解更多处理css
的内容 >>>
>>> 本节课源码javascript
>>> 全部课程源码css
教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步>>> 原文地址 webpack4 系列教程(六): 处理 SCSS。 评论或者最新更新,也请移步。html
为了方便叙述,此次代码目录的样式文件只有一个scss
文件,以帮助咱们了解核心 LOADER 的使用。java
下图展现了此次的目录代码结构:node
此次咱们须要用到node-sass
,sass-loader
等 LOADER,package.json
以下:webpack
{ "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
代码以下:git
$bgColor: red !default; *, body { margin: 0; padding: 0; } html { background-color: $bgColor; }
index.html
代码以下:github
<!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>
scss
首先,在入口文件app.js
中引入咱们的 scss 样式文件:web
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 文件相同。
由于 scss 是 css 预处理语言,因此咱们要检查下打包后的结果,打开控制台,以下图所示:
同时,对于其余的 css 预处理语言,处理方式同样,首先应该编译成 css,而后交给 css 的相关 loader 进行处理。点我了解更多关于处理css
的内容 >>>
欢迎入群:_857989948_ 。IT 技术深度交流和分享,涉及方面包括但不限于:网站制做、运营、UI 设计、算法分析、大数据、人工智能等。本群主打有深度、有态度的技术交流,欢迎热衷记录知识的您的加入。