无包构建

无包构建指的是:在构建时只需处理模块的编译而无须打包,把模块间的**依赖关系完全交给浏览器来处理。**浏览器会加载入口模块,分析依赖后,再通过网络请求加载被依赖的模块。通过这样的方式简化构建时的处理过程,提升构建效率。

Vite

详细运行查看Vite

Snowpack

Snowpack 是另一个比较知名的无包构建工具,从整体功能来说和上述 Vite 工具提供的功能大致相同,主要差异点在 Snowpack 在生产环境下默认使用无包构建而非打包模式(可以通过引入打包插件例如 @snowpack/plugin-webpack 来实现打包模式)

无包构建与打包构建

优点:

  • 初次构建速度快
  • 按需编译,在浏览器渲染时,根据入口模块分析加载所需模块,编译过程按需处理
  • 增量构建速度快

缺点:

  • 浏览器网络请求数量剧增,尤其对不支持的 HTTP2.0 的服务器
  • 浏览器兼容性