美文网首页
webpack打包优化

webpack打包优化

作者: haha2333 | 来源:发表于2019-12-30 12:39 被阅读0次

tree shaking

使用import导入的包,在生产环境下自动去除包内没有引用的代码。这是webpack打包自带的优化

import是es6引入规范(所以记得要装babel)
require是common.js引入规范

scope hosting

转自
在bundle.js文件

// module-a.js
export default 'module A'
// entry.js
import a from './module-a'
console.log(a)

打包

// bundle.js
// 最前面的一段代码实现了模块的加载、执行和缓存的逻辑,这里直接略过
[
  /* 0 */
  function (module, exports, require) {
    var module_a = require(1)
    console.log(module_a['default'])
  },
  /* 1 */
  function (module, exports, require) {
    exports['default'] = 'module A'
  }
]

使用ModuleConcatenationPlugin
插件使用方法

    new webpack.optimize.ModuleConcatenationPlugin(),

结果,把导入导出的模块都放在了一个函数里了

// bundle.js
[
  function (module, exports, require) {
    // CONCATENATED MODULE: ./module-a.js
    var module_a_defaultExport = 'module A'

    // CONCATENATED MODULE: ./index.js
    console.log(module_a_defaultExport)
  }
]

显而易见,这次 Webpack 将所有模块都放在了一个函数里,直观感受就是——函数声明少了很多,因此而带来的好处有:

  1. 文件体积比之前更小。
  2. 运行代码时创建的函数作用域也比之前少了,开销也随之变小。

这个插件不支持common.js语法,因为他支持模块动态加载,这种情况很难分析出模块之间的依赖关系及输出的变量。

happyPack

实现多线程打包进程

抽离公共模块代码

见此

懒加载

let btn = document.getElementById('btn')
btn.addEventListener('click', () => {
  console.log('click');
  import('./other.js').then(data => {
    console.log(data.default.a)
  }).catch(err=>{
    console.log(err);
  })
})
// home.js:37   click
// common.js:3  aa
// home.js:39   12
let common = require('./common.js')
common.com()
module.exports = {
  a:12
}

动态链接库

https://juejin.im/post/5ac42d5c6fb9a028b617b851

相关文章

  • 基于webpack 3 打包性能优化

    基于webpack 3 打包性能优化 source Scope Hoisting. 过去 webpack 打包时的...

  • webpack打包优化

    实现webpack打包优化,有两个优化点: 如何减少打包时间 如何减少打包大小 减少打包时间 优化Loader对于...

  • React单页面应用项目 性能优化 实践

    react 单页面应用项目在加载优化这一块就得依赖webpack的打包方式。webpack的打包优化的本质就是将 ...

  • 浅谈webpack打包原理

    近来想要对旧项目进行优化,所以了解下webpack打包原理为优化做准备 webpack 4.x 打包文件 inde...

  • Webpack极限打包优化

    今天为了更好地了解一下Webpack打包优化的一些内容,看了一下NEXT公开课,Webpack打包极限优化,感兴趣...

  • Webpack 打包优化之速度篇

    在前文 Webpack 打包优化之体积篇中,对如何减小 Webpack 打包体积,做了些探讨;当然,那些法子对于打...

  • 前端打包部署优化之gzip

    使用webpack打包出来的文件过大,导致访问速度极其慢,搜索webpack打包优化,能够看到很多前辈的建议:gz...

  • webpack 性能优化

    webpack性能优化 开发环境性能优化 生产环境性能优化 开发环境性能优化 优化打包构建速度 优化调试功能 生产...

  • vue项目优化

    vue 项目优化 项目打包体积优化 通常vue项目通过webpack打包后,会出现vendor包的体积过大的情况,...

  • 2019-12-16 总结几个webpack打包优化的方法

    总结几个webpack打包优化的方法 为什么要优化打包? 项目越做越大,依赖包越来越多,打包文件太大 单页面应用首...

网友评论

      本文标题:webpack打包优化

      本文链接:https://www.haomeiwen.com/subject/wfikdctx.html