程序员

webpack的性能优化

2019-03-22  本文已影响0人  慕时_木雨凡

webpack项目优化主要分为两个方面的优化,生产环境的代码优化和开发环境的项目构建优化

生产环境的代码优化

  1. 项目打包之后vendor或者app.css文件较大
    • 将我们不经常改变版本的第三方安装包(vue、vue-router、vux、axios、loadsh等)通过cdn的方式引入
    • 将我们使用的第三方组件库的css文件也通过cdn引入
  2. 代码分片实现路由懒加载
    • require.ensure([dependencies], callback,errorCalback,chunkName)
      path: 'home',
      getComponent: (nextState, cb) => {
        require.ensure([], require => {
          cb(null, require('./home'))
        })
      }
      
    • es6 的import()进行动态加载
    • Vue 的异步组件和 Webpack 的代码分割功能
      const Foo = () => import('./Foo.vue')
      { path: '/foo', component: Foo }
      
  3. 优化devtool减少文件体积
    • 关闭生产环境的SourceMap(生产环境的SourceMap真心没有什么用处,如果纠结的话可以选择开启低级别的SourceMap)具体配置参考

    https://webpack.js.org/configuration/devtool/#root

开发环境的项目构建优化

  1. Dllplugin提高项目构建速度
  2. 热替换
         devServer: {
              contentBase: path.resolve(__dirname, 'dist'),//需要监听的文件路径
              host: '192.168.56.1',//服务器地址
              compress: true,//开启  服务器压缩
              port: 3001 // 端口
         }
    
  3. 配置合适的 delvtool


  4. HappyPack 配置更多的电脑资源用于项目构建
      const HappyPack = require('happypack');
      exports.module = {
           rules: [
                {
                     test: /.js$/,
                     use: 'happypack/loader'
                }
           ]
      };
      exports.plugins = [
           new HappyPack({
                loaders: [ 'babel-loader?presets[]=es2015' ]
           })
      ];
    
上一篇 下一篇

猜你喜欢

热点阅读