开发模式下配置一些基础配置(也就是平时开发React、Vue项目的脚手架):
Source Map
然开发或者上线时代码报错能更加准确的错误提示。使用HotModuleReplacement
(HMR热更新),让开发时只重新编译打包更新变化的代码,不会打包整个代码包, 不变的代码使用缓存,从而更新速度更快。
使用OneOf
让资源文件一旦被某个loader处理了,就不会继续遍历loader,打包速度更快
使用Include/Exclude
排除或只检测某些文件,处理的文件更少,速度更快
使用Cache
对eslint和babel处理的结果进行缓存,让首次之后的打包速度更快。
使用Thead
多进程处理eslint和babel任务速度更快。(注意:进程启动通信都有开销的,要在项目比较大代码比较多处理时才有明显的效果)
使用Tree Shaking
去除了没有使用过的多余代码,让代码包体积更小。
使用@babel/plugin-transform-runtime
插件对babel进行处理,让辅助代码从中引入,而不是每个文件都生成辅助代码,从而体积更小
使用Image Minimizer
对项目中图片进行压缩,体积更小,请求速度更快。(注意:如果项目中图片都是在线链接,那就不需要用了,本地项目静态图片才需要进行压缩。)
使用Code Split
把代码进行分割成多个js文件,从而使单个文件体积更小,并行加载js速度更快。并且通过import动态导入语法进行按需加载,从而达到需要使用时才加载该资源,不用时不进行加载。
使用Preload/Prefetch
对代码进行预加载,等需要使用时就可以直接使用。(注意:浏览器兼容不是很好)
使用Network Cache
对输出资源文件进行更好的命名,将来好做缓存。
使用Core-js
对js进行兼容性处理,让代码可以兼容并运行在低版本浏览器
使用PWA
让代码可以离线访问,从而提升用户体验。(注意:对于低版本浏览器兼容不是很好)