webpack4 css打包压缩问题的解决


Posted in Javascript onMay 18, 2018

这两天一直在练习这个webpack4, 发现有好多问题和坑,做开发嘛,一定要有喜欢出问题并喜欢解决问题,坚决踩个坑填个坑的不怕死小强精神!

webpack4 在配置上其实是可以是想production和development的,

// webpack.config.js

module.exports = {
  // webpack会根据mode进行对Js打包,development压缩,production下面自动压缩,亲测没有问题
  mode: 'development' // production
}

但是从js里面分离出来的css怎么打包呢?

我找了一天的相关文章,好多都是说webpack自动支持css压缩,有的是说需要插件,对,就是用插件

optimize-css-assets-webpack-plugin
不过一定要看Npm官方网站

⚠️ For webpack v3 or below please use optimize-css-assets-webpack-plugin@3.2.0. The optimize-css-assets-webpack-plugin@4.0.0 version and above supports webpack v4.

做法是先安装 optimize-css-assets-webpack-plugin

const optimizeCss = require('optimize-css-assets-webpack-plugin');
module.exports = {  
  .....,
  //
  plugins: [
    new optimizeCss({
      assetNameRegExp: /\.style\.css$/g,
      cssProcessor: require('cssnano'),
      cssProcessorOptions: { discardComments: { removeAll: true } },
      canPrint: true
    }),
  ],
  // 这个还待研究,看字面意思是优化的意思
  optimization: {
    // minimize: true,
    minimizer: [new optimizeCss({})],

  }  
}

以上里面的代码我也是看别人写的,所以还需要安装一个'cssnano'的包

之后运行生产环境打包命令,哦也,css果然压缩了,但是看js,居然没有被压缩,不加上述代码的话js确实是默认压缩的,于是网上又找解决方案,都说webpack4只要设置mode production即可,但是现在有个问题,压缩了css之后js就不会压缩,于是带着试试看的心里继续安装之前压缩Js的插件 uglify-webpack-plugin

最后发现问题解决了,只是我的心得,也是误打误撞,但如果有好的解决方案请大家积极留言,共同进步,把webpack吃透!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery ThickBox插件使用心得(不建议使用)
Sep 08 Javascript
jQuery仿gmail实现fixed布局的方法
May 27 Javascript
jQuery CSS3相结合实现时钟插件
Jan 08 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
May 12 Javascript
移动适配的几种方案(三种方案)
Nov 25 Javascript
详解jQuery简单的表格应用
Dec 16 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
Sep 08 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
Nov 02 Javascript
vue axios post发送复杂对象问题
Jun 04 Javascript
解决layer弹出层msg的文字不显示的问题
Sep 11 Javascript
vue实现给div绑定keyup的enter事件
Jul 31 Javascript
Vue axios获取token临时令牌封装案例
Sep 11 Javascript
微信小程序实现长按删除图片的示例
May 18 #Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
May 18 #Javascript
Vue数据双向绑定原理及简单实现方法
May 18 #Javascript
Swiper 4.x 使用方法(移动端网站的内容触摸滑动)
May 17 #Javascript
Vue中对比scoped css和css module的区别
May 17 #Javascript
vue引用js文件的多种方式(推荐)
May 17 #Javascript
vue router+vuex实现首页登录验证判断逻辑
May 17 #Javascript
You might like
redis 队列操作的例子(php)
2012/04/12 PHP
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
php实现的Timer页面运行时间监测类
2014/09/24 PHP
php中使用GD库做验证码
2016/03/31 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
给moz-firefox下添加IE方法和属性
2007/04/10 Javascript
javascript 写类方式之五
2009/07/05 Javascript
js 表格隔行颜色
2009/12/02 Javascript
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
js调试系列 控制台命令行API使用方法
2014/06/18 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
微信小程序新手教程之启动页的重要性
2019/03/03 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
Python的面向对象编程方式学习笔记
2016/07/12 Python
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
python读取指定字节长度的文本方法
2019/08/27 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
HTML5的hidden属性兼容老浏览器的方法
2014/04/23 HTML / CSS
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
亿阳信通股份有限公司笔试题(C#)
2016/03/04 面试题
白酒市场开发计划书
2014/01/09 职场文书
高三毕业寄语
2014/04/10 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书