通用环境:
    1.将webpack和node.js的版本升级,更新版本往往会带来更高的性能
    2.将loader应用于最少数量的必要模块

    1. {
    2. test:/\.js$/,
    3. include:path.resolve(__dirname,'src'), // 只解析src目录下的文件,忽略其他文件,提升构建性能
    4. loader:'babel-loader'
    5. }

    3.每个额外的loader/plugin都有启动时间,减少使用工具,减少启动时间。
    4.减少编译结果的整体大小,提高构建性能,保持chunk体积小:
    使用体积更小的library
    多页面应用使用splitChunksPlugin,并开启async模式
    移除未引用代码
    5.持久化缓存
    在webpack中使用cache选项,将cache类型设置为内存或文件系统

    1. module.exports= {
    2. cache:{
    3. type:'memory'
    4. }
    5. }

    6.worker pool
    thread-loader 可以将非常消耗资源的loader分流给一个woeker pool

    1. module: {
    2. rules: [
    3. {
    4. test: /\.js$/,
    5. exclude: /node_modules/,
    6. use: [
    7. {
    8. loader: "babel-loader",
    9. options: {
    10. presets:['@babel/preset-env']//解析es6
    11. }
    12. },
    13. {
    14. loader: "thread-loader",
    15. options: {
    16. workers:2
    17. }
    18. }
    19. ]
    20. }
    21. ]
    22. }