ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

vuejs如何调试代码

2021-10-27 09:34:39  阅读:228  来源: 互联网

标签:map vue 文件 vuejs 代码 webpack source sourcemap 调试


基于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模式已启动一会就一定卡死,尝试很多方式没成功过,待续吧......

 

https://www.cnblogs.com/ricolee/p/vue-debugging.html

标签:map,vue,文件,vuejs,代码,webpack,source,sourcemap,调试
来源: https://www.cnblogs.com/porter/p/15468991.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有