webpack4工具链升级排坑记录
1、webpack4号称是0配置,于是我就只设置了entry、resolve、output、module->rules之类的属性,结果通过webpack-bundle-analyzer跑出来发现只把懒加载模块的公共代码抽离出来了。
查询官方文档发现optimization.splitChunks.chunks默认为async,只从异步chunks里提取模块,因此需要设置成all
2、设置完mode,发现有一个entry在调试环境和生产环境下编译出来的文件数量不一样,百思不得其解
问题一定出在不同环境下的默认设置上,翻了翻源代码才将问题逐渐定位到optimization.splitChunks.minSize上,于是把官方文档里splitChunks的配置写在了webpack.config.base.js里,确保调试环境和生产环境下的chunk分割策略完全一致
3、由于项目使用koa2,使用web-dev-server的话,在调试的时候需要开两个窗口启两个服务,所以想找个中间件来实现HMR,选择了koa-webpack,按照文档设置好后发现编译出来的文件结果和直接用webpack编出来的结果又不一样
看了看koa-webpack的源码,先将问题定位在webpack-hot-client上,尝试将这个插件关闭(参考设置)后编译结果正常。最后定位到webpack-hot-client的这项设置上,将allEntries设为ture即可。
总结
在升级过程中还出现了好几处低级错误
- 使用vue-router懒加载时,提前import进来了需要懒加载的组件,导致懒加载失效且页面无法显示
- 懒加载语法写错了
每当出现这种明明根据文档一步一步来设置,最后却因为一些低级错误而出现很奇怪的结果时,宁愿在网上漫无目的的搜集一大堆他人的例子来无脑尝试也不愿意花时间在文档、源码的解读与理解上,容易在不断的尝试里消磨时间并积累挫败感最终决定回避问题。
webpack4工具链升级排坑记录的更多相关文章
- Charles 抓包工具安装和采坑记录
Charles 抓包工具安装和采坑记录 网络抓包是解决网络问题的第一步,也是网络分析的基础.网络出现问题,第一步肯定是通过抓包工具进行路径分析,看哪一步出现异常.做网络爬虫,第一步就是通过抓包工具对目 ...
- 多页应用 Webpack4 配置优化与踩坑记录
前言 最近新起了一个多页项目,之前都未使用 webpack4 ,于是准备上手实践一下.这篇文章主要就是一些配置介绍,对于正准备使用 webpack4 的同学,可以做一些参考. webpack4 相比之 ...
- 初次见面C#排坑记录
排一次开发C#遇到的坑,同时说一下自己对C#中文件夹构建方式的体会. 一个开发Java的人留下了痛苦的泪水,变量命名规则不一样,连括号打的都不一样,
- hyperledger explorer 结合 fabric1.4 搭建 区块链浏览器 踩坑记录
博主通过这篇博客的步骤搭建区块链浏览器:https://blog.csdn.net/qq_32675427/article/details/99946945 进行到下面这一步时出现各种异常,浪费了博主 ...
- mybatis 排坑记录
1. mapper xml resultMap 中定义 property 时不能出现空格 否则会出现反射错误,找不到 do 对应的 set 方法
- spring-cloud /pause 平滑升级 踩坑记录
0.客户端添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...
- 使用Windows下的git工具往github上传代码 踩坑记录
使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...
- LFS(Linux From Scratch)构建过程全记录(五):交叉工具链的构建
写在前面 本文将详细讲述如何构建工具链 前置知识 在LFS-BOOK中,我们需要学习一些关于"交叉编译"的内容,详见书本 安装Binutils-2.39 我们cd到sources文 ...
- manjaro xfce 18.0 踩坑记录
manjaro xfce 18.0 踩坑记录 1 简介1.1 Manjaro Linux1.2 开发桌面环境2 自动打开 NumLock3 系统快照3.1 安装timeshift3.2 使用times ...
随机推荐
- 0502-Hystrix保护应用-简介,使用,健康指标等
一.概述 参看地址:https://cloud.spring.io/spring-cloud-static/Edgware.SR3/single/spring-cloud.html#_circuit_ ...
- MariaDB备份之XtraBackup
一.XtraBackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtrabd数据库进行热备的工具.特点: (1)备份过程快速.可靠: ...
- [笔记]Go语言实现同一结构体适配多种消息源
问题: 提供天气信息的网站有很多,每家的数据及格式都不同,为了适配各种不同的天气接口,写了如下程序. 代码如下: package main import ( "encoding/json&q ...
- SQL语句2
1. SELECT * FROM Persons WHERE City NOT LIKE '%lon%' 2. SELECT * FROM Persons WHERE FirstName LIKE ' ...
- json数据结构
JSON即JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合服务器与JavaScript的交互.JSON易于人阅读和编写.同时也易于机器解析和生成.JSON采 ...
- C#基元类型取值范围对照表
byte 无符号 8 为整数,值为0-255; sbyte 有符号8位整数,-128~127; short 有符号16位整数,范围在-32768~32767 ushort 无符号16位 ...
- MyEclipse激活失败
最近从MyEclipse2014升级MyEclipse2015,结果按照MyEclipse2014的方式激活2015总是失败,显示错误如下图所示: 反复实验,怎么也不能成功激活,最终找到方法 很多情况 ...
- Arcgis Javascript API 开发笔记
JS API3.4的要求 à(1) IE9或以上版本 否则dijit1.8.3不匹配 1.如何发布ArcgisJavascript API应用 0.准备工作: (1).有web应用: (2).有js ...
- 安装专业版的linux的方法 图解安装专业版的linux
按装一个linux系统其实很简单,不再像以前那样光光盘就好些个,一不小心还又可能装错,实在也是一个大问题.现在好了基本上都是简单安装+网络升级先安装主要的后面如果需要什么在装什么?大大简化了流程.不行 ...
- Spring_使用外部属性文件
beans-properties.xml <?xml version="1.0" encoding="UTF-8"?><beans xmlns ...