简介

webpack 处理样式学习笔记。

安装

# 提取css文件
npm install mini-css-extract-plugin --save-dev

# 处理css文件(style-loader是将将css文件插入到html页面中)
npm install css-loader  --save-dev

# 处理less文件
npm install less-loader  --save-dev 

# 用 JS 形变 CSS 的工具,执行的时机是在 css 打包的时候; style-css 的 transform 配置是在浏览器环境
# autoprefixer - 浏览器兼容、postcss-px2rem - 将 px 转换成 rem 
npm install postcss postcss-loader autoprefixer postcss-px2rem --save-dev

# 压缩和优化 css
npm install optimize-css-assets-webpack-plugin --save-dev

# 压缩和优化 css
npm install purgecss-webpack-plugin --save-dev

webpack 配置

module.exports = {
  module: {
    rules: [
      // == 加载 css
      {
        test: /.(css|less)$/,
        use: [
          MiniCssExtractPlugin.loader,
          'css-loader',
          {
            loader: 'postcss-loader',
            options: {
              plugins: () => [
                autoprefixer({
                  overrideBrowserslist: ['last 2 version', '>1%', 'ios 7'],
                }),
                px2rem({
                  remUnit: 50,
                }),
              ],
            },
          },
          'less-loader',
        ],
      },
    ],
  },
  plugins: [
    // == 压缩和优化 css
    new OptimizeCSSAssetsPlugin({
      assetNameRegExp: /\.css$/g,
      cssProcessor: cssnano,
    }),
    // == 去除无用的 css 类(需要配合 MiniCssExtractPlugin 一起使用)
    new PurgeCSSPlugin({
      paths: glob.sync(`${path.join(projectRoot, 'src')}/**/*`, { nodir: true }),
    }),
    // == 提取 css
    new MiniCssExtractPlugin({
      filename: '[name]_[contenthash:8].css',
    }),
  ]
};

项目地址

地址: https://github.com/yunaichun/webpack-study

参考资料

powered by Gitbook该文件修订时间: 2023-05-16 18:08:03

results matching ""

    No results matching ""