vuejs如何调试代码

摘要:
只有一个最终的sourcemap,它是在简化加载器生成的sourcemap之后由webpack生成的。将以下配置添加到vue.config.js文件:Copymodule。exports={configureWebpack:{devtool:‘ouce-map‘}}vscode编辑器调试#vscode调试一直是个问题。调试模式已启动一段时间,它必须被卡住。许多尝试都失败了。请继续

基于webpack的配置调试#

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

Copy
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

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

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

190812-vscode-debugging-source-map.png

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

190812-vscode-debugging.png

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 进行简化,然后再次生成的。

参考:webpack sourcemap 选项多种模式的一些解释

基于vue-cli的配置调试#

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

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

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

vscode编辑器调试#

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

免责声明:文章转载自《vuejs如何调试代码》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇01 . PostgreSQL简介部署2016NOIP普及组T2回文日期下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue常用插件之图片预览

v-viewer(1.4.2) 非常实用的图片预览插件,支持旋转、缩放、翻转等操作 一、npm安装 npm i v-viewer -S 二、全局引入(main.js中) import 'viewerjs/dist/viewer.css' import Viewer from 'v-viewer' Vue.use(Viewer) //配置项 Viewer.s...

解决webstorm中vue语法没有提示

首先看看webstrom内置的vue插件,打上勾,没有这个选项就要自己去下载插件了 如果插件还是没有语法提示,可以用下面的方法,自己添加语法进去搜索 unknown HTML tag attributes ,将下面的指令复制到点开的窗口里v-textv-htmlv-oncev-ifv-showv-elsev-forv-onv-bindv-modelv-re...

vue指令(3)v-html

理论知识 v-html可向元素中插入html片段,例如 '< h1>标题一< /h1>'等 该指令存在安全漏洞,因此在本地代码中可以使用,如果要调用第三方的代码中包含该指令,则存在安全隐患。 该指令的值可以同vue对象的data属性中变量绑定。 实践 <!DOCTYPE html> <html> <...

Vue的编译过程

碰到是否有template选项时,会询问是否要对template进行编译: 在template编译(渲染成UI)有一个过程。模板通过编译生成AST,再由AST生成Vue的渲染函数,渲染函数结合数据生成Virtual DOM树,对Virtual DOM进行diff和patch后生成新的UI。将上图细化一下,也就是template编译的过程如下图所示:...

Vue 监听---&amp;gt;watch

关于Vue的监听:watch watch是对单个属性的监听 对于基本数据类型的监听       简单监视 对于复杂数据类型的监听       深度监视 下面的代码,有一个简单监视  和 一个深度监视 <body> <div id="app"> <input type="text" v-model='ms...

前端简历

简历的本质在写简历之前,我们必须清楚的了解一件事情,那就是简历是什么?它不是人生履历,不是项目清单,也不是技能大放送。简历的存在只有一个目的 —— 帮你约到面试。只要能达到这个目的,简历可以是一段视频,一个开源项目,一张照片,甚至是一行字,比如: I wrote javascript 当然,绝大部分简历的形式,就是我们所熟知的,是一篇文章。即使你通过其他方...