webpack处理样式资源(css less sass scss)

Webpack 本身是不能识别样式资源的,所以我们需要借助 Loader 来帮助 Webpack 解析样式资源

一、处理css样式资源

  1. 去项目根目录新建css文件夹,在css文件夹下新增index.css文件,内容如图:
    webpack处理样式资源(css less sass scss)_第1张图片

  2. 在src-main.js中引入css->index.css文件
    webpack处理样式资源(css less sass scss)_第2张图片

  3. 在public->index.html中新增一个div.class='box1’的容器,如图:
    webpack处理样式资源(css less sass scss)_第3张图片

  4. 下载 css-loader style-loader

npm i css-loader style-loader -D

  • css-loader:负责将 Css 文件编译成 Webpack 能识别的模块
  • style-loader:会动态创建一个 Style 标签,里面放置 Webpack 中 Css 模块内容
  1. 配置webpack.config.js
const path = require("path");

module.exports = {
  entry: "./src/main.js",
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "main.js",
  },
  module: {
    rules: [
      {
        // 用来匹配 .css 结尾的文件
        test: /\.css$/,
        // use 数组里面 Loader 执行顺序是从右到左
        use: ["style-loader", "css-loader"],
      },
    ],
  },
  plugins: [],
  mode: "development",
};
  1. 打包

npx webpack

将public中的index.html运行到浏览器中,如图:
webpack处理样式资源(css less sass scss)_第4张图片
成功显示了一个绿色的盒子。

二、处理less资源

处理less资源和处理css资源的步骤类似,只不过是需要的loader不一样而已

  1. 新建less->index.less文件
    webpack处理样式资源(css less sass scss)_第5张图片

  2. 在src-main.js中引入
    webpack处理样式资源(css less sass scss)_第6张图片

  3. 在public-index.html中添加容器显示
    webpack处理样式资源(css less sass scss)_第7张图片

  4. 下载less-loader

npm i less-loader -D

  • less-loader:负责将 Less 文件编译成 Css 文件
  1. 配置
const path = require("path");

module.exports = {
  entry: "./src/main.js",
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "main.js",
  },
  module: {
    rules: [
      {
        // 用来匹配 .css 结尾的文件
        test: /\.css$/,
        // use 数组里面 Loader 执行顺序是从右到左
        use: ["style-loader", "css-loader"],
      },
      {
      	// 用来匹配.less结尾的文件
        test: /\.less$/,
        use: ["style-loader", "css-loader", "less-loader"],
      },
    ],
  },
  plugins: [],
  mode: "development",
};
  1. 执行

npx webpack
webpack处理样式资源(css less sass scss)_第8张图片

三、处理sass scss资源

  1. 新建sass->index.sass,index.scss文件
    webpack处理样式资源(css less sass scss)_第9张图片
    webpack处理样式资源(css less sass scss)_第10张图片

  2. 在src-main.js中引入
    webpack处理样式资源(css less sass scss)_第11张图片

  3. 在public-index.html中添加容器显示
    webpack处理样式资源(css less sass scss)_第12张图片

  4. 下载less-loader

npm i sass-loader sass -D

  • sass-loader:负责将 Sass 文件编译成 css 文件
  • sass:sass-loader 依赖 sass 进行编译
  1. 配置
const path = require("path");

module.exports = {
  entry: "./src/main.js",
  output: {
    path: path.resolve(__dirname, "dist"),
    filename: "main.js",
  },
  module: {
    rules: [
      {
        // 用来匹配 .css 结尾的文件
        test: /\.css$/,
        // use 数组里面 Loader 执行顺序是从右到左
        use: ["style-loader", "css-loader"],
      },
      {
        test: /\.less$/,
        use: ["style-loader", "css-loader", "less-loader"],
      },
      {
        test: /\.s[ac]ss$/,
        use: ["style-loader", "css-loader", "sass-loader"],
      },
    ],
  },
  plugins: [],
  mode: "development",
};
  1. 执行

npx webpack

webpack处理样式资源(css less sass scss)_第13张图片
好啦,这就是webpack如何配置对应的loader处理样式资源的全部内容啦。

你可能感兴趣的:(webpack,webpack,css,less)