Skip to content

说说你对webpack的理解?解决了什么问题?

是什么

img

webpack是一个用于js应用的静态模块打包工具(这里的静态资源是任何类型的、可以被webpack引用文件)

当webpack构建应用程序时,会在内部构建一个依赖图,此依赖图对应映射到项目的所需模块,并且不局限于js文件,生成一个或多个bundle

解决了什么问题

  1. 模块化开发:早期,网页开发存在代码维护和管理困难,引用顺序难以管理等问题,webpack利用模块化,有利于开发者的开发体验,并且把文件整合到一起,提升了代码的可维护性和组织性,减少了浏览器的请求次数
  2. 加载非JavaScript资源:webpack出现之前,处理非js资源麻烦,需要手动处理或者引入其他工具,webpack通过引入loader机制,让不同资源可以像模块一样被导入,简化了资源管理
  3. 兼容不同环境:webpack支持各种配置项和代码处理,可以让生成的代码兼容不同环境(开发、测试、es5、es6)
  4. 优化前端资源:支持代码压缩,分割,Tree Shaking(去除无用代码)等功能,有效减少了应用的体积和加载时间
  5. 提升开发者体验:提供HMR和proxy,利于开发