全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

浅谈vue+webpack项目调试方法步骤

题外话:这几个月用vue写了三个项目了,从绊手绊脚开始慢慢熟悉,婶婶的感到语言这东西还是得有点框框架架,太自由了容易乱搞,特别人多的时候。

从webpack开始

直接进入正题。有人觉得vue项目难调试,是因为用了webpack。所有代码揉在了一起,还加了很多框架代码,根本不知道怎么下手。所以vue+webpack调试要从webpack入手。我们先从一般情况开始说。

-sourcemap

webpack配置提供了devtool这个选项,如果设置为 ‘#source-map',则可以生成.map文件,在chrome浏览器中调试的时候可以显示源代码。

devtool: '#source-map'

然而这个设置实际上没这么简单。webpack官方给出了7个配置项供选择: 戳这里

这里不同的配置有些不同的效果,比如是否保留注释、保留行信息等,具体每一条什么意思这里不详解释,有兴趣的童鞋可以参考这篇文章

官方默认的是用 ‘#cheap-module-eval-source-map'

devtool: '#cheap-module-eval-source-map'

设置好之后,在vue项目调试的时候,代码里面标注debugger的时候就能看到对应的代码了,非常方便。

或者,直接找到对应的文件。在chrome用 'ctrl(command) + p‘,输入文件名,可以找到对应的源代码。

打断点:

需要注意的是,这里断点会打在下一行。同时一行代码运行在它的下一行才算执行。

-vue-cli

vue家的项目脚手架,推荐使用。vue-cli老家在这里

vue-cli可以帮我们自动搭建项目,首先npm全局安装

 npm install -g vue-cli

然后创建一个新的项目

vue init webpack my-project

一路回车,搞定。(更多配置项请参考上面给出的vue-cli链接)

这里从网上下载了一个带webpack的vue项目(跑之前记得npm install一下)

 

从bulid文件夹里面就大概能看出:

  • webpack.dev.conf: 开发模式用
  • webpack.prod.conf: 生产模式用

其中,开发模式提供了devtool为'#cheap-module-eval-source-map',生产模式根据config文件夹下的productionSourceMap变量控制是否使用。

若为true,则devtool为'#source-map'

其他使用方法一致。非常方便。

线上调试

平时开发的时候,我们用webpack的热加载,可以省去挂载调试的步骤,非常方便。但是发布后部署到服务器上,就失去了这个本地优势。

如果使用挂载文件方式会比较麻烦。由于webpack打出来的文件有版本号这些信息,而且发布一个包看代码量可能需要等待不等,这个方案不实际。但是如果挂载的是热加载到端口下的文件的话,这个问题就很好办了。

-热加载

在此之前,先来分析一下webpack的热加载原理。

对项目抓包可以发现这么一个文件:__webpack_hmr

这是webpack热加载的服务器推送事件,eventsource类型,功能和websocket有点类似。大致作用是建立一个不会停止的stream流链接,服务器发送更新数据回来append到流的末端,前端读取最新append的数据,然后动态的更新页面上的东西。

接下来我们观察下上文提到的更新数据有哪些。随便更新一个文件,触发热加载,再抓个包,发现有两个.hot-update.json和一个.hot-update.js文件

这些具体做了些啥我不知道,这里就不深究了。应该是根据json里面的数据,达到一个准确更新的效果。

所以热更新其实就是监听服务器上的数据,有修改的话服务器发送数据过来,前端把数据拿来后替换到页面上这么一个过程。

-AutoResponder

接下来谈谈线上挂载测试,这里推荐一款软件:fiddler

fiddler有一个功能叫做AutoResponder,它可以将一个地址指向另一个地址。之所以用这个软件,是因为它能匹配正则,非常方便。

上一节说到,webpack热加载用到了这几类文件

  • __webpack_hmr
  • xxxxxxxxxxx.hot-update.json
  • xxxxxxxxxxx.hot-update.js

和.html以及其他.js文件一起,我们就可以把这几个类型的文件挂载上去,达到一个远程热更新的效果,设置如下:

假设:

线上地址:http://192.168.9.189

本地服务器地址:http://localhost:8080/

为了照顾到接口,不能用*全匹配(上图fiddler里最后一条灰色的)

request matches respond with
EXACT:http://192.168.9.189/index.html http://localhost:8080/
EXACT:http://192.168.9.189/__webpack_hmr http://localhost:8080/__webpack_hmr
regex:http://192.168.9.189/([^.]+).js$ http://localhost:8080/$1.js
regex:http://192.168.9.189/(.+).hot-update.json$ http://localhost:8080/$1.hot-update.json
regex:http://192.168.9.189/(.+).hot-update.js$ http://localhost:8080/$1.hot-update.js

打开debugger就能发现vue的devtools出来了

wap端-技巧分享

手机上调试也没那么麻烦。和电脑一样在同一个局域网下,输入地址就能看到效果了。最近在做一个wap端的vue项目,这里谈谈一些自己用到的一些小技巧。

  • iphone可以用safari来检查元素;android可以用chrome远程调试
  • wifi下的http代理可以转发手机的网络请求,挂到本机上可以抓包数据

手机加载慢的时候,同样可以使用http代理转发到主机上,再访问速度就比较快了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# webpack  # vue  # 调试  # vue.js  # 通过实例解析vuejs如何实现调试代码  # Vue3.x源码调试的实现方法  # Vue程序调试的方法  # vue调试工具vue-devtools安装及使用方法  # webstrom Debug 调试vue项目的方法步骤  # 浅析Visual Studio Code断点调试Vue  # Vue调试神器vue-devtools安装方法  # Vue DevTools调试工具的使用  # 如何使用Webstorm和Chrome来调试Vue项目  # 加载  # 的是  # 就能  # 线上  # 是因为  # 可以用  # 这几个  # 机上  # 源代码  # 这是  # 器上  # 在这里  # 很好  # 我不  # 出了  # 也没  # 在此  # 就不  # 推荐使用  # 说到 


相关文章: 如何快速生成ASP一键建站模板并优化安全性?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何零成本快速生成个人自助网站?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  建站主机如何选?高性价比方案全解析  长沙做网站要多少钱,长沙国安网络怎么样?  北京网站制作的公司有哪些,北京白云观官方网站?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  如何用已有域名快速搭建网站?  建站DNS解析失败?如何正确配置域名服务器?  如何通过VPS搭建网站快速盈利?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  C++中引用和指针有什么区别?(代码说明)  实例解析angularjs的filter过滤器  网站制作网站,深圳做网站哪家比较好?  营销式网站制作方案,销售哪个网站招聘效果最好?  如何在景安云服务器上绑定域名并配置虚拟主机?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  全景视频制作网站有哪些,全景图怎么做成网页?  如何在香港免费服务器上快速搭建网站?  建站主机选购指南:核心配置与性价比推荐解析  简历在线制作网站免费版,如何创建个人简历?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  详解jQuery停止动画——stop()方法的使用  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  完全自定义免费建站平台:主题模板在线生成一站式服务  建站之星如何实现网站加密操作?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  大连网站制作公司哪家好一点,大连买房网站哪个好?  ,网页ppt怎么弄成自己的ppt?  如何通过万网虚拟主机快速搭建网站?  建站之星会员如何解锁更多建站功能?  ui设计制作网站有哪些,手机UI设计网址吗?  建站主机核心功能解析:服务器选择与网站搭建流程指南  建站之星如何实现五合一智能建站与营销推广?  如何选择建站程序?包含哪些必备功能与类型?  jQuery 常见小例汇总  如何快速登录WAP自助建站平台?  建站之星如何通过成品分离优化网站效率?  如何用PHP工具快速搭建高效网站?  小型网站建站如何选择虚拟主机?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  建站之星好吗?新手能否轻松上手建站?  建站之星安装步骤有哪些常见问题?  如何高效配置IIS服务器搭建网站?  网站微信制作软件,如何制作微信链接?  制作网站的模板软件,网站怎么建设? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。