此选项控制是否以及如何生成源映射。
使用源地图开发工具插件
用于更细粒度的配置。请参阅source-map加载程序
处理现有的源映射。
开发工具
string=“eval”
假
选择的样式源映射以增强调试过程。这些值会显著影响构建和重建速度。
开发工具 | 性能 | 生产 | 质量 | 评论 |
---|
(无) | 建造:最快
重建:最快 | 对 | 捆 | 建议选择性能最高的生产版本。 |
评估 | 建造:快速
重建:最快 | 不 | 生成 | 建议选择性能最高的开发版本。 |
eval-cheap-source-map | 建造:确定
重建:快速 | 不 | 转化 | 开发构建的权衡选择。 |
eval-cheap-module-source-map | 建造:慢速
重建:快速 | 不 | 原始线条 | 开发构建的权衡选择。 |
评估-源-映射 | 建造:最慢
重建:确定 | 不 | 起初的 | 推荐使用高质量SourceMaps进行开发构建。 |
廉价资源-地图 | 建造:确定
重建:慢速 | 不 | 转化 | |
廉价模块源映射 | 建造:慢速
重建:慢速 | 不 | 原始线条 | |
源映射 | 建造:最慢
重建:最慢 | 对 | 起初的 | 建议选择具有高质量SourceMaps的生产版本。 |
内联-中文-源-映射 | 建造:确定
重建:慢速 | 不 | 转化 | |
内联-跨模块-源映射 | 建造:慢速
重建:慢速 | 不 | 原始线条 | |
内联源映射 | 建造:最慢
重建:最慢 | 不 | 起初的 | 发布单个文件时的可能选择 |
eval-nosources-cheap-source-map | 建造:确定
重建:快速 | 不 | 转化 | 不包括源代码 |
eval-nosources-cheap模块-source-map | 建造:慢速
重建:快速 | 不 | 原始线条 | 不包括源代码 |
评估-无来源-来源-地图 | 建造:最慢
重建:确定 | 不 | 起初的 | 不包括源代码 |
内联资源-廉价资源-映射 | 建造:确定
重建:慢速 | 不 | 转化 | 不包括源代码 |
内联资源-廉价模块-源-映射 | 建造:缓慢
重建:慢速 | 不 | 原始线条 | 不包括源代码 |
内联资源-源映射 | 建造:最慢
重建:最慢 | 不 | 起初的 | 不包括源代码 |
nosources-cheap-source-map | 建造:确定
重建:慢速 | 不 | 转化 | 不包括源代码 |
nosources-chaap模块-source-map | 建造:慢速
重建:慢速 | 不 | 原始线条 | 不包括源代码 |
无源-源-map | 建造:最慢
重建:最慢 | 对 | 起初的 | 不包括源代码 |
隐藏非源-目录-源-映射 | 建造:确定
重建:慢速 | 不 | 转化 | 无参考,不包括源代码 |
隐藏的nosources廉价的模块源映射 | 建造:慢速
重建:慢速 | 不 | 原始线条 | 无参考,不包括源代码 |
隐藏非源-源-映射 | 建造:最慢
重建:最慢 | 对 | 起初的 | 无参考,不包括源代码 |
隐藏-廉价-源-映射 | 建造:确定
重建:慢速 | 不 | 转化 | 无参考 |
hidden-cheap-module-source-map | 建造:慢速
重建:慢速 | 不 | 原始线条 | 无参考 |
隐藏源映射 | 建造:最慢
重建:最慢 | 对 | 起初的 | 没有参考。仅出于错误报告目的使用SourceMap时的可能选择。 |
快捷方式 | 解释 |
---|
性能:构建 | 初始构建的性能如何受到devtool设置的影响? |
性能:重建 | 增量构建的性能如何受到devtool设置的影响?慢速开发工具可能会减少监视模式下的开发反馈循环。规模与构建性能相比有所不同,因为人们预计重建速度会比构建更快。 |
生产 | 将这个开发工具用于生产构建有意义吗?通常情况下不 当devtool对用户体验产生负面影响时。 |
质量:捆绑 | 您将在单个代码块中看到块的所有生成代码。这是没有任何开发工具支持的原始输出文件 |
质量:生成 | 您将看到生成的代码,但每个模块在浏览器开发工具中显示为单独的代码文件。 |
质量:已转换 | 您将看到在加载程序进行预处理之后、但在其他webpack转换之前生成的代码。只映射源行,并相应地丢弃列信息。未生成。这可以防止在行的中间设置断点,而这些断点不能与minimizer一起工作。 |
质量:原始线条 | 假设所有加载程序都支持SourceMapping,您将看到您编写的原始代码。只映射源行,并相应地丢弃列信息。未生成。这可以防止在行的中间设置断点,而这些断点不能与minimizer一起工作。 |
质量:原始 | 假设所有加载程序都支持SourceMapping,您将看到您编写的原始代码。 |
评估-* 附加 | 为每个模块生成SourceMap并通过eval附加它。建议开发,因为重建性能得到了改进。请注意,存在一个windows防御程序问题,由于病毒扫描,导致速度大幅下降。 |
内联-* 附加 | 将SourceMap内联到原始文件中,而不是创建单独的文件。 |
隐藏-* 附加 | 未添加对SourceMap的引用。当SourceMap未部署但仍应生成时,例如出于错误报告目的。 |
无来源-* 附加 | 源代码不包含在SourceMap中。当需要引用原始文件时(需要进一步的配置选项),这可能很有用。 |
其中一些值适合开发,另一些适合生产。对于开发,您通常希望以包大小为代价获得快速的源映射,但对于生产,您需要准确且支持最小化的单独源映射。
质量
捆绑代码
-您将所有生成的代码视为一大块代码。您不会看到模块彼此分离。
生成的代码
-您可以看到每个模块彼此分离,并用模块名称进行注释。您可以看到由webpack生成的代码。示例:代替从“模块”导入{test};测试();
你看到了类似这样的东西var模块_WEBPACK_IMPORTED_module_1__=__WEBPACK_require__(42);模块_WEBPACK_IMPORTED_module_1__.a();
.
转换后的代码
-您可以看到每个模块彼此分离,并用模块名称进行注释。您可以在webpack转换它之前看到代码,但在Loaders转换它之后看到代码。示例:代替从“模块”导入{test};类扩展测试{}
你看到了类似这样的东西从“模块”导入{test};var A=函数(_test){…}(test);
原始来源
-您可以看到每个模块彼此分离,并用模块名称进行注释。您可以在编译之前看到您编写的代码。这取决于Loader支持。
没有源内容
-源地图中不包括源的内容。浏览器通常尝试从Web服务器或文件系统加载源代码。你必须确保设置输出.devtoolModule文件名模板
正确匹配源url。
(仅限线条)
-源映射简化为每行一个映射。这通常意味着每个语句只有一个映射(假设您是这样编写的)。这可以防止在语句级别调试执行,并防止在行的列上设置断点。与最小化结合是不可能的,因为最小化通常只发射一条线。
发展
以下选项非常适合开发:
评估
-每个模块都使用评估()
和//#源URL
这很快。主要缺点是它不能正确地显示行号,因为它被映射到编译代码而不是原始代码(Loader中没有源映射)。
评估-源-映射
-每个模块都使用评估()
并且将SourceMap作为DataUrl添加到评估()
。最初速度较慢,但它提供了快速重建速度并生成真实文件。行号被正确映射,因为它被映射到原始代码。它产生了用于开发的最佳质量的SourceMap。
eval-cheap-source-map
-类似于eval源映射
,每个模块都用评估()
它“便宜”,因为它没有列映射,只映射行号。它忽略Loaders中的SourceMaps,只显示与评估
开发工具。
eval-cheap-module-source-map
-类似于eval-cheap-source-map
但是,在这种情况下,会处理Loader的源映射以获得更好的结果。然而,Loader Source Maps被简化为每行一个映射。
特殊情况
以下选项不适合开发或生产。它们是一些特殊情况下所需要的,例如一些第三方工具。
内联源映射
-SourceMap作为DataUrl添加到捆绑包中。
廉价资源-地图
-没有列映射的SourceMap忽略加载器源映射。
内联-中文-源-映射
-类似于廉价资源-地图
但SourceMap作为DataUrl添加到捆绑包中。
cheap-module-source-map
-没有列映射的SourceMap,可以将加载程序SourceMaps简化为每行一个映射。
内联-跨模块-源映射
-类似于廉价模块源映射
但SourceMap作为DataUrl添加到捆绑包中。
生产
这些选项通常用于生产:
(无)
(省略开发工具
选项或集合devtool:错误
)-未发出SourceMap。这是一个很好的选择。
源映射
-完整的SourceMap作为单独的文件发出。它向包中添加了一个参考注释,以便开发工具知道在哪里可以找到它。
隐藏源地图
-与相同源映射
,但不向捆绑包添加引用注释。如果您只希望SourceMaps映射错误报告中的错误堆栈跟踪,但不希望将SourceMap公开给浏览器开发工具,则此功能非常有用。
无源-源-map
-创建SourceMap时没有源内容
它可以用于映射客户端上的堆栈跟踪,而不必公开所有源代码。您可以将源映射文件部署到Web服务器。