开发工具

此选项控制是否以及如何生成源映射。

使用源地图开发工具插件用于更细粒度的配置。请参阅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服务器。

8 贡献者

索克拉跳杰克太空K33z爱尔兰马达瓦尔什尼巫师阿尼凯萨哈斯尼丁315