1. 升级node webpack
  2. exclude不需要转换的文件
  3. 尽量使用官方plugin
  4. 配置resolve
resolve: {
    // import child from 'child' 可以不指定扩展名。
    extensions: ['.js', '.jsx'], 
    // import child from 'child' 实际上是import child from '..src/a/b/c/child' 
    alias: {
        child: path.resolve(__dirname, '../src/a/b/c/child')
    }
}
  1. 第三方模块打包放到dll文件夹 在代码中引用dll文件夹下的包,而不是引用node_modeules中的。

在webpack中需要使用AddAssetHtmlWebpackPlugin, webpack.DllReferencePlugin, webpack.DllPlugin

webpack.DllPlugin: 生成xxx.dll.js的manifest.json(影射文件)

webpack.DllReferencePlugin: 引用manifest.json

AddAssetHtmlWebpackPlugin:往index.html中注入生成的 xxx.dll.js

  1. 合理使用source map

  2. 借助打包分析工具

  3. thread-loader