通过实例解析vuejs如何实现调试代码


Posted in Javascript onJuly 16, 2020

基于webpack的配置调试

使用Vue-cli命令行工具初始化基于wabpack模板的项目的命令语法:

npm install -g @vue/cli         # 全局安装vue-cli,版本vue3.x
vue init webpack [my-project] [app-name] # 使用vue-cli初始化一个完整的webpack项目。
cd my-project              # 进入目录
npm install               # 安装依赖 (package.json)
npm start                # 启动开发环境版本

在config/index.js文件中更改devtool配置为source-map:

module.exports = {
   devtool: 'source-map',//默认是:cheap-module-eval-source-map
}

设置为source-map,则可以生成.map文件,在chrome浏览器中调试的时候可以显示源代码,效果如下:

通过实例解析vuejs如何实现调试代码

cheap-module-eval-source-map选项效果:

通过实例解析vuejs如何实现调试代码

webpack中devtool的其它选项各代表什么呢:

  • eval:文档上解释的很明白,每个模块都封装到 eval 包裹起来,并在后面添加 //# sourceURL
  • source-map :这是最原始的 source-map 实现方式,其实现是打包代码同时创建一个新的 sourcemap 文件, 并在打包文件的末尾添加 //# sourceURL 注释行告诉 JS 引擎文件在哪儿
  • hidden-source-map :文档上也说了,就是 soucremap 但没注释,没注释怎么找文件呢?貌似只能靠后缀,譬如 xxx/bundle.js 文件,某些引擎会尝试去找 xxx/bundle.js.map
  • inline-source-map :为每一个文件添加 sourcemap 的 DataUrl,注意这里的文件是打包前的每一个文件而不是最后打包出来的,同时这个 DataUrl 是包含一个文件完整 souremap 信息的 Base64 格式化后的字符串,而不是一个 url。
  • eval-source-map :这个就是把 eval 的 sourceURL 换成了完整 souremap 信息的 DataUrl
  • cheap-source-map :不包含列信息,不包含 loader 的 sourcemap,(譬如 babel 的 sourcemap)
  • cheap-module-source-map :不包含列信息,同时 loader 的 sourcemap 也被简化为只包含对应行的。最终的 sourcemap 只有一份,它是 webpack 对 loader 生成的 sourcemap 进行简化,然后再次生成的。

基于vue-cli的配置调试

vue-cli是基于webpack的打包的效果和上面的一样,只是配置不一样。

在vue.config.js文件中加如下配置即可:

module.exports = {
  configureWebpack: {
    devtool:'souce-map'
  }
}

vscode编辑器调试

vscode 调试一直有问题,debug模式已启动一会就一定卡死,尝试很多方式没成功过

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

Javascript 相关文章推荐
一个收集图片的bookmarlet(js 刷新页面中的图片)
May 27 Javascript
JS增加行复制行删除行的实现代码
Nov 09 Javascript
confirm的用法示例用于按钮操作时确定是否执行
Jun 19 Javascript
jQuery实现的支持IE的html滑动条
Mar 16 Javascript
AngularJS基础 ng-mousemove 指令简单示例
Aug 02 Javascript
ASP.NET jquery ajax传递参数的实例
Nov 02 Javascript
js中字符型和数值型数字的互相转化方法(必看)
Apr 25 Javascript
基于pako.js实现gzip的压缩和解压功能示例
Jun 13 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
Jul 25 Javascript
security.js实现的RSA加密功能示例
Jun 06 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
Sep 19 Javascript
vue实现前台列表数据过滤搜索、分页效果
May 28 Javascript
详解js中的几种常用设计模式
Jul 16 #Javascript
JS寄快递地址智能解析的实现代码
Jul 16 #Javascript
详解js中的原型,原型对象,原型链
Jul 16 #Javascript
详解Webpack4多页应用打包方案
Jul 16 #Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
Jul 15 #Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
Jul 15 #Javascript
TypeScript 引用资源文件后提示找不到的异常处理技巧
Jul 15 #Javascript
You might like
乱谈我对耳机、音箱的感受
2021/03/02 无线电
SONY ICF-SW07收音机电路分析
2021/03/02 无线电
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
2020/05/01 PHP
PHP之header函数详解
2021/03/02 PHP
jQuery常见开发技巧详细整理
2013/01/02 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
2016/05/16 Javascript
Vue.js动态添加、删除选题的实例代码
2016/09/30 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
jQuery中layer分页器的使用
2017/03/13 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
浅谈微信小程序flex布局基础
2018/09/10 Javascript
Vue axios设置访问基础路径方法
2018/09/19 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
高性能web服务器框架Tornado简单实现restful接口及开发实例
2014/07/16 Python
78行Python代码实现现微信撤回消息功能
2018/07/26 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
DVF官方网站:美国时装界尊尚品牌
2017/08/29 全球购物
美国体育用品商店:Paragon Sports
2017/10/08 全球购物
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
自我评价怎么写好呢?
2013/12/05 职场文书
应届毕业生求职信范文
2013/12/18 职场文书
演讲稿的写法
2014/05/19 职场文书
五一促销活动总结
2014/07/01 职场文书
道路施工安全责任书
2014/07/24 职场文书
2014乡镇领导班子四风对照检查材料思想汇报
2014/10/05 职场文书
六一晚会主持词开场白
2015/05/28 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书