前言

上一节中,我们已经成功将 css 抽离出来了,但是目前为了书写的方便,我们更多的使用 scss 或者 less,这里我们将使用 scss,less 的原理基本相同.

安装插件

这里我们将使用到sass-loader

npm install sass-loader sass webpack --save-dev

编辑 webpakc.config.js

// change
 
module: {
    rules: [
      {
        // 这里已经使用scss了
        test: /\.scss$/,
        use: [
          // 提取css
          MiniCssExtractPlugin.loader,
          "css-loader",
          // 将scss转变为css
          "sass-loader",
        ],
      },
    ],
  },

仅有图中部分有所改变,其余保持不变.

img

注意!!! 不要忘记,将我们之前的style.css更改后缀,变成style.scss,同时,我们在index.js引入了style.css,所以也要改成 此时的目录结构,dist目录为打包后生成的,这里暂时忽略.

webpack
|- /node_modules;
|- /src
  |- index.html
  |- index.js
  |- style.scss
|- package-lock.json
|- package.json;
|- webpack.config.js
// index.js
import './style.scss';
 
console.log('hello webpack');

我们稍微对style.scss进行一个修改

// style.scss
body {
  background-color: hotpink;
  p {
    color: red;
  }
}

这里我们需要了解 webpack loader 的加载顺序,从下到上,从右到左,所以我们在编辑的时候需要根据具体的顺序书写,不能过于随意. 执行 npm run build 我们可以看到dist目录下生成了built.css,并且已经将 scss 转成 css,意味着我们的 scss 配置完毕.