webpack 1.x升级过程中的踩坑总结大全


Posted in Javascript onAugust 09, 2017

前言

大家应该都知道,Webpack 是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。因为最近在对博客做SSR,无奈vue ssr demo或例子都是基于webpack2的。博主在webpack1.x上折腾了许久,vue-ssr-server-bundle.json文件生成仍然还是遥遥无期。最后还是乖乖地开始了webpack升级之旅。

本文主要记录升级过程中遇到的一些坑和解决办法,可能有些遗漏了,能记多少记多少吧。话不多说了,来一起看看详细的介绍吧。

webpack 1.x升级过程中的踩坑总结大全

错误:Error: Chunk.entry was removed. Use hasRuntime()

解决办法:升级extract-text-webpack-plugin ("extract-text-webpack-plugin": "^2.1.0",)

错误:Error: Breaking change: extract now only takes a single argument.

// 错误提示

Error: Breaking change: extract now only takes a single argument. Either an options object *or* the loader(s).
Example: if your old code looked like this:
 ExtractTextPlugin.extract('style-loader', 'css-loader')

You would change it to:
 ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' })

原因是webpack2对loader的配置做了一些调整,修改 ExtractTextPlugin配置即可:

{
 test: /\.less$/,
 use: ExtractTextPlugin.extract({
  fallback: 'style-loader',
  use: ['css-loader', 'less-loader']
 })
},

htmlWebpackPlugin生成的html,没有引入css, app.js

修改配置,chunks属性使用files包裹

{
 filename: pageName + '.html',
 template: __dirname + '/src/' + pageName + '.html',
 chunks: pageConf.chunks,
 inject: true
};
{
 filename: pageName + '.html',
 template: __dirname + '/src/' + pageName + '.html',
 files: {
  chunks: pageConf.chunks,
 },
 inject: true
};

eslint不能识别es6语法

✘ http://eslint.org/docs/rules/ Parsing error: The keyword 'import' is reserved
 src\entry.client.js:7:1
 import { createApp } from './app'
 ^

解决办法:修改eslint配置,增加

"parser": "babel-eslint",

错误: Module build failed: BrowserslistError: Unknown version 57 of and_chr

npm 包过期,删除node_modules,从新安装依赖即可

webpack dist打包后,不生成公共css文件

vee-loader配置不对,加上配置 extractCSS: true

{
 test: /\.vue$/,
 loader: 'vue-loader',
 options: {
  extractCSS: isProd,
  preserveWhitespace: false,
  postcss: [
  require('autoprefixer')({
   browsers: ['last 3 versions']
  })
  ]
 }
},

小结

升级过程总体上还算顺利,vue-ssr-server-bundle.json也生成了,不过这仅仅是ssr的开始,一大堆问题等着解决。 如果不熟悉webpack2可以先花点时间看下官网介绍,英文不好的可以看翻译版。 整个升级过程总得来说,就是很多loader得升级,另一个要注意的就是loader的配置了,其它似乎没什么特别的地方。

总结

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JavaScript格式化数字的函数代码
Nov 30 Javascript
javascript full screen 全屏显示页面元素的方法
Sep 27 Javascript
node.js中的fs.futimesSync方法使用说明
Dec 17 Javascript
JS控制表单提交的方法
Jul 09 Javascript
JS中script标签defer和async属性的区别详解
Aug 12 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
Oct 06 Javascript
JS中的JSON对象的定义和取值实现代码
May 09 Javascript
详解webpack4之splitchunksPlugin代码包分拆
Dec 04 Javascript
浅谈React Native 传参的几种方式(小结)
May 21 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
Sep 16 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
Oct 28 Javascript
JavaScript判断浏览器版本的方法
Nov 03 Javascript
微信小程序开发教程之增加mixin扩展
Aug 09 #Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 #Javascript
vuejs父子组件之间数据交互详解
Aug 09 #Javascript
Angular在模板驱动表单中自定义校验器的方法
Aug 09 #Javascript
浅谈react+es6+webpack的基础配置
Aug 09 #Javascript
js中less常用的方法小结
Aug 09 #Javascript
利用JS做网页特效_大图轮播(实例讲解)
Aug 09 #Javascript
You might like
跟我学Laravel之视图 & Response
2014/10/15 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
使用PHP开发留言板功能
2019/11/19 PHP
javascript函数重载解决方案分享
2014/02/19 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
Jquery日历插件制作简单日历
2015/10/28 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
python 随机数生成的代码的详细分析
2011/05/15 Python
python中readline判断文件读取结束的方法
2014/11/08 Python
Python进行数据提取的方法总结
2016/08/22 Python
Python处理中文标点符号大集合
2018/05/14 Python
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
完美解决keras 读取多个hdf5文件进行训练的问题
2020/07/01 Python
Python实现简单猜数字游戏
2021/02/03 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
css3实现小箭头各种图形效果
2020/07/08 HTML / CSS
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
信息管理专业学生自荐信格式
2013/09/22 职场文书
决定成败的关键——创业计划书
2014/01/24 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
政风行风整改报告
2014/11/06 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
小学家长意见怎么写
2015/06/03 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书