CC 4.0 许可证

本节内容来源于以下链接的内容,并受 CC BY 4.0 许可证约束。

如果未明确说明,以下内容可以认为是基于原始内容进行修改和删除的结果。

开发工具

devtool 配置用于控制源映射生成的行為。

  • 类型
export type Devtool =
  | false
  | 'eval'
  | 'cheap-source-map'
  | 'cheap-module-source-map'
  | 'source-map'
  | 'inline-cheap-source-map'
  | 'inline-cheap-module-source-map'
  | 'inline-source-map'
  | 'inline-nosources-cheap-source-map'
  | 'inline-nosources-cheap-module-source-map'
  | 'inline-nosources-source-map'
  | 'nosources-cheap-source-map'
  | 'nosources-cheap-module-source-map'
  | 'nosources-source-map'
  | 'hidden-nosources-cheap-source-map'
  | 'hidden-nosources-cheap-module-source-map'
  | 'hidden-nosources-source-map'
  | 'hidden-cheap-source-map'
  | 'hidden-cheap-module-source-map'
  | 'hidden-source-map'
  | 'eval-cheap-source-map'
  | 'eval-cheap-module-source-map'
  | 'eval-source-map'
  | 'eval-nosources-cheap-source-map'
  | 'eval-nosources-cheap-module-source-map'
  | 'eval-nosources-source-map';
  • 默认值: eval

源映射生成行为的主要类型是 source-mapevalcheapmoduleinlinenosourceshidden,并且可以组合使用。

  • source-map 是最基本的行为,表示生成源映射,在启用源映射时,对构建性能有一定的开销。

  • eval 将生成的模块代码用 eval() 包裹,因此 Rspack 可以内部缓存模块生成的結果,因此在将 evalsource-map 组合使用时,它可以优化重建时源映射生成的速度。

  • cheap 表示源映射只生成行的映射,不考虑列的映射,以加快源映射的生成速度。

  • module 用于控制加载器是否需要返回源映射,因此在没有 module 的情况下,源映射只能映射将被加载器处理的代码,而且由于加载器不需要处理源映射,所以源映射生成速度将得到提升。

  • inline 表示生成的源映射是否通过 data url 内联到文件的末尾。

  • nosources 用于控制生成的源映射是否包含源代码内容,以减少生成源映射的大小。

  • hidden 用于控制生成的源文件末尾是否包含 # sourceMappingURL=... 注釈。浏览器开发者工具、VS Code 等会根据该注解的路径或 data url 来查找源映射,以便在调试过程中将产品的行号映射回源代码中的位置。