webpack启动服务器和处理sourcemap的操作方法

 更新时间:2024年03月14日 10:58:36   作者:ladymorgana  
Source Map源代码地图就是解决此类问题最好的办法,从它的名字就能够看出它的作用:映射转换后的代码与源代码之间的关系,这篇文章主要介绍了webpack启动服务器和处理sourcemap的操作方法,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

脚手架原理之webpack启动服务器和处理sourcemap

Source Map 简介

Source Map(源代码地图)就是解决此类问题最好的办法,从它的名字就能够看出它的作用:映射转换后的代码与源代码之间的关系。一段转换后的代码,通过转换过程中生成的 Source Map 文件就可以逆向解析得到对应的源代码。

启动服务环境

目前我们的webpack是没有服务环境的,那么如何启动一个web服务器呢?可以通过webpack-dev-server模块,下载使用即可。

npm install webpack-dev-server

安装好后,再package.json中配置scripts脚本,"serve": "webpack-dev-server",然后运行serve脚本。这样就会启动一个http://localhost:8080的服务。

当开启了web服务后,咱们的/dist文件可以不用存在了,服务会把dist的资源打入到内存中,这样可以大大加快编译的速度,所以/dist文件夹可以删除掉了,不影响服务的启动和访问。

处理sourcemap

socurcemap启动映射文件的作用,可以通过浏览器查找到原始的文件,这样对于调试是非常有帮助的,配置如下:

module.exports = {
    devtool: 'inline-source-map'
}

补充:

Webpack5 SourceMap

提示:以下是本篇文章正文内容,下面案例可供参考

一、SourceMap有什么用

为什么需要SourceMap
开发时我们运行的代码是经过 Webpack 编译压缩合并之后的,这样的目的是以提高应用程序的性能,但是这种优化也给调试问题带来了困难,因为压缩后的代码难以追踪和调试。这时候,SourceMap技术就能派上用场了。
SourceMap(源代码映射)是一个用来生成源代码与构建后代码一一映射的文件的方案。
它会生成一个 xxx.map 文件,里面包含源代码和构建后代码每一行、每一列的映射关系。当构建后代码出错了,会通过 xxx.map 文件,从构建后代码出错位置找到映射后源代码出错位置,从而让浏览器提示源代码文件出错位置,帮助我们更快的找到错误根源。

可以提升开发体验 我们需要更加准确的错误提示,来帮助我们更好的开发代码

二、怎么使用SourceMap

通过查看Webpack DevTool 文档可知,SourceMap 的值有很多种情况,但Webpack5甚至更早的版本已经为我们内置了SourceMap,所以实际开发时我们只需要关注两种情况即可:

  • 在开发模式下使用:cheap-module-source-map
  • 优点:打包编译速度快,只包含行映射
  • 缺点:没有列映射
module.exports = {
  // 其他省略
  mode: "development",
  devtool: "cheap-module-source-map",
};

在生产模式下使用:source-map

  • 优点:包含行/列映射
  • 缺点:打包编译速度更慢
module.exports = {
  // 其他省略
  mode: "production",
  devtool: "source-map",
};

三、需要注意的点

生产环境我们一般不会开启sourceMap功能,主要原因如下:

1,通过bundle和sourcemap文件,可以反编译出源码,也就是说,线上产物有sourcemap文件的话,就意味着有暴露源码的风险。
2,我们可以观察到,sourcemap文件的体积相对比较巨大,这和我们生产环境的追求不同(生产环境追求更小更轻的bundle.)

所以有如下总结:Webpack 5中,是否需要开启source-map取决于你的具体需求和项目情况。以下是一些考虑因素:

  • 调试能力:如果你需要在生产环境中进行调试,查找问题或者进行性能优化,开启source-map可以提供更好的源代码映射,方便你定位和排查问题。
  • 构建速度和输出文件大小:生成source-map会增加构建时间和打包后的文件大小。在生产模式下,你可能更关注性能和用户体验,因此可以选择关闭source-map以减小输出文件大小并提高构建速度。
  • 安全性考虑:在某些情况下,你可能不希望将源代码暴露给终端用户。生成source-map可能会泄露你的源代码逻辑,因此需要权衡安全性和调试需求。

总结来说,开启source-map在生产模式下不是必须的,但根据具体需求和项目特点,你可以根据以上因素进行判断和决策。

到此这篇关于webpack启动服务器和处理sourcemap的操作方法的文章就介绍到这了,更多相关webpack启动服务器内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • 浅谈Web服务器和应用服务器的区别

    浅谈Web服务器和应用服务器的区别

    通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)
    2012-02-02
  • 用nginx+FastDFS一步步搭建文件管理系统

    用nginx+FastDFS一步步搭建文件管理系统

    FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务
    2020-10-10
  • XAMPP下使用顶级域名绑定虚拟主机的配置方法和示例

    XAMPP下使用顶级域名绑定虚拟主机的配置方法和示例

    这篇文章主要介绍了XAMPP下使用顶级域名绑定虚拟主机的配置方法和示例,XAMPP是Windows下非常好用的一款集成开发环境,需要的朋友可以参考下
    2014-07-07
  • 简单粗暴的Caddy Server 使用介绍

    简单粗暴的Caddy Server 使用介绍

    Caddy是一个Go写的服务器软件,官方的宣传语The HTTP/2 web server with automatic HTTPS以及Serve The Web Like It is 2016简明表达了这个软件的优点和趋势,它拥有基本的apache或者nginx有的web server模块,同时还有一些很有特色的功能
    2016-11-11
  • CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法

    CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法

    这篇文章主要介绍了CentOS配置虚拟主机virtualhost使服务器支持多网站多域名的方法,涉及CentOS环境下Apache服务器虚拟主机设置技巧,需要的朋友可以参考下
    2016-10-10
  • UDP简单服务端客户端代码示例

    UDP简单服务端客户端代码示例

    这篇文章主要介绍了UDP简单服务端客户端代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 如何使用Linux搭建web服务器

    如何使用Linux搭建web服务器

    web?服务器提供的这些数据大部分都是文件,那么我们需要在服务器端先将数据文件写好,并且放置在某个特殊的目录下面,这个目录就是我们整个网站的首页,在?redhat?中,这个目录默认在/var/www/html,这篇文章主要介绍了如何使用Linux搭建web服务器,需要的朋友可以参考下
    2023-12-12
  • 联想服务器RD450 配置RAID5阵列图文方法

    联想服务器RD450 配置RAID5阵列图文方法

    联想RD450是一款服务器,cpu为英特尔 至强 处理器六核E5-2609 v3 1.9GHz,这里为大家分享一下联想服务器RD450 配置RAID5阵列图文方法,需要的朋友可以参考下
    2018-05-05
  • 配置Memcache服务器并实现主从复制功能(repcached)

    配置Memcache服务器并实现主从复制功能(repcached)

    repcached是日本人开发的实现memcached复制功能,它是一个单 master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步,如果 master坏掉, slave侦测到连接断了,它会自动 listen而成为 master
    2012-03-03
  • Deployment副本无状态服务创建及水平扩展

    Deployment副本无状态服务创建及水平扩展

    这篇文章主要为大家介绍了Deployment副本无状态服务及水平扩展,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03

最新评论

?


http://www.vxiaotou.com