示例解析webpack提取css为单独文件(附代码)

 2485

本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于webpack提取css为单独文件的相关问题,包括了css兼容性处理以及压缩css等内容,下面一起来看一下,希望对大家有帮助。


示例解析webpack提取css为单独文件(附代码)


提取css成单独文件

1、安装插件并引入

  1. npm install mini-css-extract-plugin -D
  2. const  MiniCssExtractPlugin = require('mini-css-extract-plugin')

2、配置插件plugins

  1. plugins: [
  2.     new HtmlWebpackPlugin({
  3.         template:'./src/index.html'
  4.     }),
  5.     new MiniCssExtractPlugin({
  6.         filename:'css/built.css'//对输出的文件进行重命名,默认为main.css
  7.     })
  8. ],

3、修改loader文件

  1. {
  2.    test:/.css$/,
  3.    use:[
  4.       //取代css-loader,提取js中css成单独文件(注意)
  5.        MiniCssExtractPlugin.loader,
  6.        //将css文件整合到JS文件中
  7.       'css-loader',
  8.    ]
  9. },


css兼容性处理

1、安装插件

  1. npm install postcss-loader postcss-preset-env -D

2、在module中配置postcss-loader并配置postcss-preset-env插件

  1. {
  2.     test:/.css$/,
  3.     use:[
  4.         //取代css-loader,提取js中css成单独文件
  5.         MiniCssExtractPlugin.loader,
  6.         //将css文件整合到JS文件中
  7.         'css-loader',
  8.         //css兼容性处理:postcss --> postcss-loader postcss-preset-env
  9.         //帮postcss找到package.json中browserslist里面的配置,通过配置加载指定的css兼容性样式
  10.         {
  11.             loader:'postcss-loader',
  12.             options: {
  13.                 ident: 'postcss',//默认配置
  14.                 plugins: () => [
  15.                     require('postcss-preset-env')()
  16.                 ]
  17.             }
  18.         }
  19.     ]
  20. },

3、配置package.json中的browserslist

  1. "browserslist":{
  2.     "development":[
  3.       "last 1 chrome version",
  4.       "last 1 firefox version",
  5.       "last 1 safari version"
  6.     ],
  7.     "production":[
  8.       ">0.1%",
  9.       "not dead",
  10.       "not op_mini all"
  11.     ]
  12.   }

4、为了使package.json中browserslist中的development环境生效,需要在webpack.config.js中配置环境,因为默认是生产环境,我们开发需要开发环境

  1. const {resolve}=require('path')
  2. const HtmlWebpackPlugin = require('html-webpack-plugin')
  3. const  MiniCssExtractPlugin = require('mini-css-extract-plugin')
  4. //设置node.js环境变量,默认是生产环境,配置后为开发环境;
  5. process.env.NODE_ENV = 'development';


压缩css

1、安装插件并引用

  1. npm install optimize-css-assets-webpack-plugin -D
  2. const OptimizeCssAssetsWebpackPlugin = require('optimize-css-assets-webpack-plugin')

2、在plugins中配置插件

  1. plugins: [
  2.     new HtmlWebpackPlugin({
  3.         template:'./src/index.html'
  4.     }),
  5.     new MiniCssExtractPlugin({
  6.         filename:'css/built.css'//对输出的文件进行重命名
  7.     }),
  8.     //压缩css文件
  9.     new OptimizeCssAssetsWebpackPlugin()
  10. ],


TAG标签:
本文网址:https://www.zztuku.com/index.php/detail-12938.html
站长图库 - 示例解析webpack提取css为单独文件(附代码)
申明:本文转载于《CSDN》,如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐