webpack中css打包成文件

抽离css文件

// 安装本地插件
cnpm i mini-css-extract-plugin -D

// 引入
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

// 使用
plugins: [
    new MiniCssExtractPlugin({
      filename: '[name]_[contenthash:8].css'
    })
]

// 注意,该插件不能和style-loader使用,
// 因为style-loader是用来将css以style的方式插入的
{
    test: /.css$/,
    use: [
        // 需要将loader中css/less等文件里面的style-loader,
        // 替换成该插件
        MiniCssExtractPlugin.loader,
        'css-loader'
    ]
},

压缩css文件

// 安装压缩css插件
cnpm i optimize-css-assets-webpack-plugin -D
// 同时需要配合cssnano插件使用
cnpm i cssnano -D

// 使用
const OptimizeCssAssetsWebpackPlugin = require('optimize-css-assets-webpack-plugin');

plugins: [
    new OptimizeCssAssetsWebpackPlugin({
        assetsNameReg: /\.css$/g,
        cssProcessor: require('cssnano')
    })
]

自动增加css兼容

// 首先安装postcss-loader和autoprefixer
cnpm i postcss-loader autoprefixer -D

// 对样式处理文件增加autoprefixer配置
// 处理css私有前缀和兼容
// 例如,增加如下配置
{
    test: /.less$/,
    use: [
        MiniCssExtractPlugin.loader,
        'css-loader',
        'less-loader',
        // 增加autoprefixer处理
        {
            loader: 'postcss-loader',
            options: {
                plugins: () => [
                    require('autoprefixer')({
                        // 通过browsers选项指定兼容的版本
                        // 推荐在webpack中配置在package.json中
                        browsers: [
                            'last 2 version',
                            '>1%',
                            'ios 7'
                        ]
                    })
                ]
            }
      }
    ]
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  • 1. 写在前面 在前面的博客中,对webpack打包项目进行了简单介绍,而且都是关于打包编译 .js 文件的介绍。...
    振礼硕晨阅读 4,551评论 0 2
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,970评论 1 45
  • 在现在的前端开发中,前后端分离、模块化开发、版本控制、文件合并与压缩、mock数据等等一些原本后端的思想开始...
    Charlot阅读 10,830评论 1 32
  • 前言 趁工作之余玩了下webpack,现在都出到4.8版本了,不得不感叹前端技术版本更新真的很快!如果你还不会we...
    js_冠荣阅读 9,241评论 3 28