devtools怎么用_webpack devtool

devtools怎么用_webpack devtooldevtool配置一、devtool配置1.sourcemap源码地图2.webpack中的sourcemap3.对于开发环境一、devtool配置1.sourcemap源码地图本小节的知识与webpack无关前端发展到现阶段,很多时候都不会直接运行源代码,可能需要对源代码进行合并、压缩、转换等操作,真正运行的是转换后的代码与此同时就给调试带来了困难,因为当运行发生错误的时候,我们更加希望能看到源代码中的错误,而不是转换后代码的错误为了解决这一问题,chrome浏览器率先支持

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、devtool配置

1.source map 源码地图

本小节的知识与 webpack 无关

前端发展到现阶段,很多时候都不会直接运行源代码,可能需要对源代码进行合并、压缩、转换等操作,真正运行的是转换后的代码
在这里插入图片描述
与此同时就给调试带来了困难,因为当运行发生错误的时候,我们更加希望能看到源代码中的错误,而不是转换后代码的错误

为了解决这一问题,chrome浏览器率先支持了source map,其他浏览器纷纷效仿,目前,几乎所有新版浏览器都支持了source map
source map实际上是一个配置,配置中不仅记录了所有源码内容,还记录了和转换后的代码的对应关系

下面是浏览器处理source map的原理
在这里插入图片描述
最佳实践

  1. source map 应在开发环境中使用,作为一种调试手段
  2. source map 不应该在生产环境中使用,source map的文件一般较大,不仅会导致额外的网络传输,还容易暴露原始代码。即便要在生产环境中使用source map,用于调试真实的代码运行问题,也要做出一些处理规避网络传输和代码暴露的问题。

2.webpack中的source map

使用 webpack 编译后的代码难以调试,可以通过 devtool 配置来优化调试体验

module.exports = { 
   
    mode: "production",
    devtool: "hidden-source-map"
}

3.对于开发环境

以下选项非常适合开发环境:

eval – 每个模块都使用 eval() 执行,并且都有 //@ sourceURL。此选项会非常快地构建。主要缺点是,由于会映射到转换后的代码,而不是映射到原始代码(没有从 loader 中获取 source map),所以不能正确的显示行数

eval-source-map – 每个模块使用 eval() 执行,并且 source map 转换为 DataUrl 后添加到 eval() 中。初始化 source map 时比较慢,但是会在重新构建时提供比较快的速度,并且生成实际的文件。行数能够正确映射,因为会映射到原始代码中。它会生成用于开发环境的最佳品质的 source map。

cheap-eval-source-map – 类似 eval-source-map,每个模块使用 eval() 执行。这是 “cheap(低开销)” 的 source map,因为它没有生成列映射(column mapping),只是映射行数。它会忽略源自 loader 的 source map,并且仅显示转译后的代码,就像 eval devtool。

cheap-module-eval-source-map – 类似 cheap-eval-source-map,并且,在这种情况下,源自 loader 的 source map 会得到更好的处理结果。然而,loader source map 会被简化为每行一个映射(mapping)。

具体的配置见文档:devtool中文文档,这些信息不用专门去记,开发时查阅文档即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185350.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 【C#】 Mutex简单示例

    【C#】 Mutex简单示例Mutex简单示例:namespaceMutexTest{classProgram{//用于Mutex的TeststaticvoidMain(string[]args){System.Security.Cryptography.MD5md5=newSystem.Securi…

  • LaTeX数学公式编辑(1)——行内公式&行间公式「建议收藏」

    LaTeX数学公式编辑(1)——行内公式&行间公式「建议收藏」1.行内公式2.行间公式2.1单行编号2.2单行不编号2.3多行编号2.4多行不编号3.说明4.参考文献对数学公式的排版,可以说是LaTeX中最精彩的部分.首先说需要注意的问题.数学公式中有时候会出现文字(中文或英文),需要将文字用命令\text{…}包起来.如果将文字不加处理,直接写到公式里面会出现如下问题:如果…

  • C语言输出有颜色的字体

    C语言输出有颜色的字体先看下面的一段代码:#include<stdio.h>intmain(intargc,char**argv){printf(“\033[44;37;5mhelloworld\033[0m\n”);return0;}编译后运行上述代码,结果如下:可见,此时输出的字体和背景已经有了颜色。由上可知,在输出时候加上“\033[…

  • 试题库管理系统–数据库设计[通俗易懂]

    试题库管理系统–数据库设计[通俗易懂]一、概要设计1.1背景和意义目前,许多高校绝大多数课程还采用考教统一的模式来完成教学过程,这种传统的考试模式在教学到实施考试的过程带有很大的主观随意性和不规范性。另外随着各高校近年来学生规模的扩大,教学任务日益繁重,教师的工作量相应的不断增加。迫切需要计算机辅助教学系统来打破这种传统的教学模式,减轻教师的工作负担,提高教学质量。因此,本文研究设计了一个试题库管理系统,来解决和缓解高校课程

  • 红外测距模块 51单片机_智能激光测距「建议收藏」

    红外测距模块 51单片机_智能激光测距「建议收藏」编者按:本文转载于酷耍(http:/kooshua.com)一、设计目的超声波测距和激光测距是现在比较常见的两种测距方式。两种方式相对比而言,激光测距的优点是以极小的一束激光发射出去再返回,精度为毫米级,几乎不受干扰,弥补了超声波测距易受环境干扰、误差大的缺陷。因此,采用激光测距便更能完美的实现想要的结果。本设计不仅能对距离完成精确快速的测量,还可以对测量数据进行语音播报、编号存储,使数据记录更加…

  • http、https、ftp、talnet的默认端口号「建议收藏」

    http、https、ftp、talnet的默认端口号「建议收藏」http:80https:443(安全协议)ftp:21(文件传输协议)telent:23(远程控制登录协议)tomcat:8080mysql:3306redis:6379

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号