当前位置: 首页 > 工具软件 > Webpack > 使用案例 >

webpack 优劣

沃阳飙
2023-12-01

webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler),将有依赖关系的模块打包成静态资源。

webpack 自然就采用了折中的法子,编译所有模块时,将彼此关系密切的模块打包在一起,因此多个模块被分割成若干个小包,形成多次小请求,模块包可以按需加载,比如一个多页面网站,不同页面其实有很多公共的代码块,这时就可以优先加载,其他的按需加载。

至于代码如何分割,取决于开发者。

webpack 功能全面,模块系统不只对 javascript 进行模块化打包,
其实 css 样式、图片、网络字体、html模板… 都可以模块化打包,
以及 类似 coffeescript 、elm、less、jade template等等都可以交给
webpack 来输出标准的 三大件:html css javascript。

Webpack 优点

  • 代码拆分 — 形成项目依赖树,每个依赖都可拆分成一个模块,进行按需加载
  • Loader – webpack核心模块之一,主要处理各类型文件编译转换webpack处理模块,babel语法转换
  • 智能解析 – 对CommonJS,AMD,CMD等支持性很好
  • Plugin(插件系统) – 强大的插件系统,可实现对代码压缩,分包chunk,模块热替换等,自定义模块,图片base64等,文档非常全面,自动化工作都有直接的解决方案
  • 快速高效 – 开发配置可以选择不同环境的配置模式,可选择的打包文件,使用异步 I/O 和多级缓存提高运行效率
  • 功能全面 — 最主流的前端模块打包工具,社区全面

webpack 劣势

  • 配置复杂
  • 不分包bundele.js体积庞大
  • 只能用于采用模块化开发的项目
  • 打包慢
  • ES模块除Module外全用babel转换,但是一部分ES2015 语法的 firefox 与 chrome 浏览器中能直接跑的代码,无法用 webpack 编译
 类似资料: