调试WebStorm中创建的Angular应用程序

简介: https://blog.jetbrains.com/webstorm/2017/[Angular CLI](https://cli.angular.io/) 可以帮助我们引入一个新的[Angular](https://angular.io/)应用程序,并准备使用TypeScript和Webpack配置。

https://blog.jetbrains.com/webstorm/2017/[Angular CLI

](https://cli.angular.io/) 可以帮助我们
引入
一个新的

[Angular

](https://angular.io/)应用程序,并准备使用TypeScript和Webpack配置。
在这篇文章中,我们将看到如何在WebStorm中调试这些应用程序。

如果您以前从未在WebStorm中使用JavaScript调试器,我们建议您先观看此

[视频

](https://www.youtube.com/watch?v=a-IsnxZpRrQ),了解如何开始使用。
与IntelliJ IDEA,PhpStorm,PyCharm和RubyMine中的Angular应用程序相同。

我们有一个使用Angular CLI生成的应用程序。
我们正在使用版本1.0.0-beta.26 - 创建此帖子时的最新版本,即2017年1月底。请注意,Angular CLI仍处于测试阶段 - 新版本经常发布,并且可能会引入一些突破变化。

运行

npm start
以在开发模式下运行应用程序。

您可以在终端中执行此操作,也可以双击WebStorm中npm工具窗口中的任务。

等待应用程序编译并且Webpack dev服务器准备就绪。
打开http:// localhost:4200 /在浏览器中查看。

[图片上传中。。。(1)]
请注意,当dev服务器正在运行时,如果更改任何源文件,应用程序将自动重新加载。

在WebStorm中创建一个新的JavaScript调试配置(菜单

*运行 - 编辑配置... - 添加 - JavaScript调试

*)来调试应用程序的客户端TypeScript代码。
将http:// localhost:4200 /粘贴到URL字段中。

**在WebStorm 2017.1(现在可在

[Early Access Preview

](https://confluence.jetbrains.com/display/WI/WebStorm+EAP)下
使用

**
不需要额外的配置:保存配置,你准备好了。

**在WebStorm 2016(.1,.2和.3)

**
配置文件系统中的文件与dev服务器上源地图中指定的路径之间的映射。
这是帮助WebStorm正确解析源地图所必需的。

映射应该在

src
文件夹和

webpack:///./src

将此值添加到具有调试配置中的项目结构的表中,如下所示:

img_9223d2d6d6950e1ca4d5d5b868c4918b.png
NG-CLI-conf的

为了得到这个映射,我们调查了http:// localhost:4200 / main.bundle.map文件的内容。
这是一个包含编译应用程序源代码的软件包的源映射文件。
搜索

*main.ts

*,主应用程序的文件;
它的路径是

webpack:///./src/main.ts

保存配置,在代码中放置断点,并通过单击
IDE右上角配置列表旁边
的“

*调试”

*按钮
启动新的调试会话

浏览器将在http:// localhost:4200 /上打开。

一旦断点被​​击中,请转到IDE中的调试工具窗口。
您可以浏览调用堆栈和变量,逐步执行代码,设置观察器,评估变量以及调试时通常执行的其他操作。

[图片上传中。。。(3)]
有一个已知的限制:

在第一次调试会话中打开应用程序时,放置在页面加载中执行的代码中的断点可能不会受到打击。
原因是IDE需要从浏览器获取源映射,以便能够在放置在原始源中的断点上停止,并且只有在页面至少完成一次后才会发生。
作为解决方法,请在浏览器中重新加载页面。[Angular CLI

](https://cli.angular.io/) 可以帮助我们
引入
一个新的

[Angular

](https://angular.io/)应用程序,并准备使用TypeScript和Webpack配置。
在这篇文章中,我们将看到如何在WebStorm中调试这些应用程序。

如果您以前从未在WebStorm中使用JavaScript调试器,我们建议您先观看此

[视频

](https://www.youtube.com/watch?v=a-IsnxZpRrQ),了解如何开始使用。
与IntelliJ IDEA,PhpStorm,PyCharm和RubyMine中的Angular应用程序相同。

我们有一个使用Angular CLI生成的应用程序。
我们正在使用版本1.0.0-beta.26 - 创建此帖子时的最新版本,即2017年1月底。请注意,Angular CLI仍处于测试阶段 - 新版本经常发布,并且可能会引入一些突破变化。

运行

npm start
以在开发模式下运行应用程序。

您可以在终端中执行此操作,也可以双击WebStorm中npm工具窗口中的任务。

等待应用程序编译并且Webpack dev服务器准备就绪。
打开http:// localhost:4200 /在浏览器中查看。

[图片上传中。。。(1)]
请注意,当dev服务器正在运行时,如果更改任何源文件,应用程序将自动重新加载。

在WebStorm中创建一个新的JavaScript调试配置(菜单

*运行 - 编辑配置... - 添加 - JavaScript调试

*)来调试应用程序的客户端TypeScript代码。
将http:// localhost:4200 /粘贴到URL字段中。

**在WebStorm 2017.1(现在可在

[Early Access Preview

](https://confluence.jetbrains.com/display/WI/WebStorm+EAP)下
使用

**
不需要额外的配置:保存配置,你准备好了。

**在WebStorm 2016(.1,.2和.3)

**
配置文件系统中的文件与dev服务器上源地图中指定的路径之间的映射。
这是帮助WebStorm正确解析源地图所必需的。

映射应该在

src
文件夹和

webpack:///./src

将此值添加到具有调试配置中的项目结构的表中,如下所示:

[图片上传中。。。(2)]为了得到这个映射,我们调查了http:// localhost:4200 / main.bundle.map文件的内容。
这是一个包含编译应用程序源代码的软件包的源映射文件。
搜索

*main.ts

*,主应用程序的文件;
它的路径是

webpack:///./src/main.ts

保存配置,在代码中放置断点,并通过单击
IDE右上角配置列表旁边
的“

*调试”

*按钮
启动新的调试会话

浏览器将在http:// localhost:4200 /上打开。

一旦断点被​​击中,请转到IDE中的调试工具窗口。
您可以浏览调用堆栈和变量,逐步执行代码,设置观察器,评估变量以及调试时通常执行的其他操作。

img_ed5e1fec86ca746342a08e9e673812f5.png
NG-CLI-断点

有一个已知的限制:

在第一次调试会话中打开应用程序时,放置在页面加载中执行的代码中的断点可能不会受到打击。
原因是IDE需要从浏览器获取源映射,以便能够在放置在原始源中的断点上停止,并且只有在页面至少完成一次后才会发生。
作为解决方法,请在浏览器中重新加载页面。01/debugging-angular-apps/

相关文章
|
2月前
|
缓存 JavaScript 前端开发
Angular 应用打包和部署
Angular 应用打包和部署
172 58
|
18天前
|
缓存 监控 JavaScript
Angular 应用打包和部署
【10月更文挑战第16天】Angular 应用的打包和部署是一个综合性的过程,需要考虑多个方面的因素。通过合理的打包和部署策略,可以确保应用在生产环境中稳定运行,并为用户提供良好的体验。你需要根据实际情况选择合适的部署方式,并不断优化和改进部署流程,以适应业务的发展和变化。
|
3月前
|
机器学习/深度学习 人工智能 达摩院
第一个Angular应用创建问题之在云开发平台上进行Angular应用的日常环境部署如何解决
第一个Angular应用创建问题之在云开发平台上进行Angular应用的日常环境部署如何解决
|
3月前
|
应用服务中间件 Java Maven
掌控视图的力量!深入解析 JSF 视图管理,揭秘视图生命周期的秘密,让你的应用更高效!
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的框架,用于管理 Web 应用程序的视图。本文通过具体案例介绍 JSF 视图管理的基础知识,包括创建、管理和销毁视图的过程。首先,在 Eclipse 中创建一个新 JSF 项目,并配置 Maven 依赖。接着,在 `WEB-INF` 目录下配置 `web.xml` 文件,设置 JSF servlet。
53 0
|
3月前
|
Java Spring
🔥JSF 与 Spring 强强联手:打造高效、灵活的 Web 应用新标杆!💪 你还不知道吗?
【8月更文挑战第31天】JavaServer Faces(JSF)与 Spring 框架是常用的 Java Web 技术。本文介绍如何整合两者,发挥各自优势,构建高效灵活的 Web 应用。首先通过 `web.xml` 和 `ContextLoaderListener` 配置 Spring 上下文,在 `applicationContext.xml` 定义 Bean。接着使用 `@Autowired` 将 Spring 管理的 Bean 注入到 JSF 管理的 Bean 中。
63 0
|
3月前
|
开发者 Java 开发框架
JSF与EJB,打造企业级应用的神器!让你的Web应用更加稳定、高效!
【8月更文挑战第31天】在现代企业级应用开发中,JSF(JavaServer Faces)与EJB(Enterprise JavaBeans)是两大核心技术。JSF作为一款基于Java的Web应用框架,以其丰富的UI组件和表单处理功能著称;EJB则专注于提供分布式事务处理及远程调用等企业级服务。两者的结合为企业应用带来了高效便捷的开发模式。下文将通过一个简单的示例展示如何利用JSF进行用户信息的输入与保存,并借助EJB实现相关业务逻辑。尽管这一组合具有明显优势,但在实际应用中还需考虑其局限性并作出合理选择。
53 0
|
3月前
|
开发者 安全 SQL
JSF安全卫士:打造铜墙铁壁,抵御Web攻击的钢铁防线!
【8月更文挑战第31天】在构建Web应用时,安全性至关重要。JavaServer Faces (JSF)作为流行的Java Web框架,需防范如XSS、CSRF及SQL注入等攻击。本文详细介绍了如何在JSF应用中实施安全措施,包括严格验证用户输入、使用安全编码实践、实施内容安全策略(CSP)及使用CSRF tokens等。通过示例代码和最佳实践,帮助开发者构建更安全的应用,保护用户数据和系统资源。
51 0
|
3月前
|
容器 iOS开发 Linux
震惊!Uno Platform 响应式 UI 构建秘籍大公开!从布局容器到自适应设计,带你轻松打造跨平台完美界面
【8月更文挑战第31天】Uno Platform 是一款强大的跨平台应用开发框架,支持 Web、桌面(Windows、macOS、Linux)及移动(iOS、Android)等平台,仅需单一代码库。本文分享了四个构建响应式用户界面的最佳实践:利用布局容器(如 Grid)适配不同屏幕尺寸;采用自适应布局调整 UI;使用媒体查询定制样式;遵循响应式设计原则确保 UI 元素自适应调整。通过这些方法,开发者可以为用户提供一致且优秀的多设备体验。
119 0
|
3月前
|
开发者 Windows Android开发
跨平台开发新选择:揭秘Uno Platform与.NET MAUI优劣对比,帮你找到最适合的框架,告别选择困难症!
【8月更文挑战第31天】本文对比了备受关注的跨平台开发框架Uno Platform与.NET MAUI的特点、优势及适用场景。Uno Platform基于WebAssembly和WebGL技术,支持Windows、iOS、Android及Web平台,而.NET MAUI由微软推出,旨在统一多种UI框架,支持Windows、iOS和Android。两者均采用C#和XAML进行开发,但在性能、平台支持及社区生态方面存在差异。Uno Platform在Web应用方面表现出色,但性能略逊于原生应用;.NET MAUI则接近原生性能,但不支持Web平台。开发者应根据具体需求选择合适的框架。
113 0
|
3月前
|
iOS开发 Android开发 MacOS
从零到全能开发者:解锁Uno Platform,一键跨越多平台应用开发的神奇之旅,让你的代码飞遍Windows、iOS、Android、macOS及Web,技术小白也能秒变跨平台大神!
【8月更文挑战第31天】从零开始,踏上使用Uno Platform开发跨平台应用的旅程。只需编写一次代码,即可轻松部署到Windows、iOS、macOS、Android及Web(通过WASM)等多个平台。Uno Platform为.NET生态带来前所未有的灵活性和效率,简化跨平台开发。首先确保安装了Visual Studio或VS Code及.NET SDK,然后选择合适的项目模板创建新项目。项目结构类似传统.NET MAUI或WPF项目,包含核心NuGet包。通过简单的按钮示例,你可以快速上手并构建应用。Uno Platform让你的技术探索之旅充满无限可能。
66 0