Angular2使用vscode断点调试ts文件的方法

 更新时间:2017年12月13日 09:20:56   作者:Willworkgogogo  
本篇文章主要介绍了Angular2使用vscode断点调试ts文件的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

VSCode自带debugger工具,管理后台项目使用angular2,试了下调试ts文件十分方便。下面是具体的实现步骤以及踩的坑。当你调试出来后,回头看这个设置还是十分简单的。我使用的是ng-cli创建的项目。后面再补充一般项目的调试,感觉也差不多。

解决了 “由于未找到生成的代码,已忽略断点(是否是源映射问题?) ” ,参考下面的 我的环境配置

我的环境配置

1. node v7.3.0

2. npm 3.10.10

3. ng >= 1.3 // 这一点非常重要,我一开始的版本低于这个版本,就一直报 “由于未找到生成的代码,已忽略断点(是否是源映射问题?) ”

4. 在vscode中安装 vscode for chome 插件, 版本要3.1.4以上

5. 生成launch.json, 文件内容改为以下内容

{
 "version": "0.2.0",
 "configurations": [ // 这个数组里包含了可以包含多个配置对象
  {
   "name": "ng serve", // 配置对象的名称,你可以选择其中一个配置运行调试
   "type": "chrome", 
   "request": "launch",
   "url": "http://localhost:4200/#",
   "webRoot": "${workspaceRoot}"
  },
  {
   "name": "ng test",
   "type": "chrome",
   "request": "launch",
   "url": "http://localhost:9876/debug.html",
   "webRoot": "${workspaceRoot}"
  },
  {
   "name": "ng e2e",
   "type": "node",
   "request": "launch",
   "program": "${workspaceRoot}/node_modules/protractor/bin/protractor",
   "protocol": "inspector",
   "args": ["${workspaceRoot}/protractor.conf.js"]
  }   
 ]
}

1. ng-cli版本更新

//1. 先卸载
npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli
//2. 全局安装
npm uninstall -g @angular/cli
npm cache clean
# if npm version is > 5 then use `npm cache verify` to avoid errors (or to avoid using --force)
npm install -g @angular/cli@latest
//3. 本地安装
npm install --save-dev @angular/cli@latest

2. launch.json配置修改

第一步先要安装vscode for chrome这个插件:

插件安装

第二步修改launch.json配置:

在项目中生成chrome的launch.json文件

第三步更改lauch.json文件配置:

更改后的launch.json

第四步启动调试:

注意:该调试需要你在vscode的终端中已经执行过ng serve启动过项目,否则无法调试

这里会生成三个select选项,依次是launch.json里三个对象的name

启动调试

第五步启动后展示:

先在需要调试的ts页面中打下断点,点击启动调试按钮后, 会为项目打开一个新的chrome页面,然后需要刷新页面才能开始断点调试

vscode自动打开新的chrome窗口页面,刷新该页面后即可如下调试

这是最后可调试的页面

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

相关文章

  • Angular 2应用的8个主要构造块有哪些

    Angular 2应用的8个主要构造块有哪些

    这篇文章主要为大家详细介绍了Angular 2应用的8个主要构造块,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • angular.js指令中transclude选项及ng-transclude指令详解

    angular.js指令中transclude选项及ng-transclude指令详解

    这篇文章主要研究一下如何使用ng-transclude指令,以及指令的transclude选项的相关资料,文中介绍的非常详细,并给出了完整的示例代码大家参考学习,需要的朋友们下面来一起看看吧。
    2017-05-05
  • Angular 4.X开发实践中的踩坑小结

    Angular 4.X开发实践中的踩坑小结

    这篇文章主要给大家介绍了关于Angular 4.X开发实践中的一些踩坑经验,文中主要介绍的是使用ngIf或者ngSwitch出错以及多级依赖注入器的相关内容,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】

    AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】

    这篇文章主要介绍了AngularJS使用ng-repeat和ng-if实现数据的删选显示效果,非常适用于表单数据的显示使用,涉及ng-repeat和ng-if命令的相关使用技巧,需要的朋友可以参考下
    2016-12-12
  • AngularJS控制器controller正确的通信的方法

    AngularJS控制器controller正确的通信的方法

    AngularJS中的controller是个函数,用来向视图的作用域($scope)添加额外的功能,我们用它来给作用域对象设置初始状态,并添加自定义行为
    2016-01-01
  • Angularjs自定义指令实现分页插件(DEMO)

    Angularjs自定义指令实现分页插件(DEMO)

    由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能,下面小编把实例demo分享到脚本之家平台,需要的朋友参考下
    2017-09-09
  • Angular.js通过自定义指令directive实现滑块滑动效果

    Angular.js通过自定义指令directive实现滑块滑动效果

    这篇文章主要给大家介绍了关于Angular.js如何通过自定义指令directive实现滑块滑动的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用angularjs具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-10-10
  • 浅谈angularJS2中的界面跳转方法

    浅谈angularJS2中的界面跳转方法

    今天小编就为大家分享一篇浅谈angularJS2中的界面跳转方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • 快速解决angularJS中用post方法时后台拿不到值的问题

    快速解决angularJS中用post方法时后台拿不到值的问题

    今天小编就为大家分享一篇快速解决angularJS中用post方法时后台拿不到值的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • angularjs基础教程

    angularjs基础教程

    AngularJS是为了克服HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事。
    2014-12-12

最新评论