开发环境性能优化
优化打包构建速度
- HMR : 热更新
优化代码调试
- source-map : 源代码映射错误
生产环境性能优化
优化打包构建速度
- oneOf : 打包文件时不会每次都执行一次 loader
- babel 缓存 : 代码压缩 es6 转 es5
- 多进程打包 thread-loader : 运行loader时间长时, 可以使用 thread-loader多进程
- externals : 忽略webpack 不对一些模块进行打包,需要时,手动在html中引入
- dll : 配置dll, 对webpack引入的库进行打包为一个单独的文件, 用到直接引入,不再重复打包
优化代码运行的性能
- 文件资源缓存 (hash - chunkhash - contenthash) : 文件生成一个 hash 值,相当于版本号,在运行代码时,根据hash执行加载不同的文件缓存
- tree shaking : 将源码中没有使用到的代码或模块给移除
- code split : 代码分割,单文件 多文件,将代码分为多个文件
- 懒加载 / 预加载 :
- pwa : 离线也能访问到加载时的内容
