本节内容来源于以下链接的内容,并受 CC BY 4.0 许可证约束。
如果未明确说明,以下内容可以认为是基于原始内容进行修改和删除的结果。
devtool 配置用于控制源映射生成的行為。
eval源映射生成行为的主要类型是 source-map、eval、cheap、module、inline、nosources 和 hidden,并且可以组合使用。
source-map 是最基本的行为,表示生成源映射,在启用源映射时,对构建性能有一定的开销。
eval 将生成的模块代码用 eval() 包裹,因此 Rspack 可以内部缓存模块生成的結果,因此在将 eval 与 source-map 组合使用时,它可以优化重建时源映射生成的速度。
cheap 表示源映射只生成行的映射,不考虑列的映射,以加快源映射的生成速度。
module 用于控制加载器是否需要返回源映射,因此在没有 module 的情况下,源映射只能映射将被加载器处理的代码,而且由于加载器不需要处理源映射,所以源映射生成速度将得到提升。
inline 表示生成的源映射是否通过 data url 内联到文件的末尾。
nosources 用于控制生成的源映射是否包含源代码内容,以减少生成源映射的大小。
hidden 用于控制生成的源文件末尾是否包含 # sourceMappingURL=... 注釈。浏览器开发者工具、VS Code 等会根据该注解的路径或 data url 来查找源映射,以便在调试过程中将产品的行号映射回源代码中的位置。