提问人:dimson d 提问时间:3/3/2018 最后编辑:Bishandimson d 更新时间:10/23/2023 访问量:7528
如何调试 Angular 通用?
How to debug Angular universal?
问:
我正在使用 Angular Universal Starter 存储库。在 ssr 的 angular 4 universal 中,我们可以在开发模式下调试应用程序的浏览器和节点部分(参见控制台),但现在我看不到调试节点部分的方法。我试图通过一些更改(文件路径等)来执行,但 angular 似乎需要 aot 编译的应用程序和ts-node server.ts
throw Error:必须传入 NgModule 或 NgModuleFactory 才能 自举。
来自文档:
开发(仅限客户端渲染) - 运行 npm run start,这将启动 ng serve
生产环境(也用于在本地测试 SSR/预渲染) - npm run build:ssr & & npm run serve:ssr
乍一看,开发中的 Node.js 调试不起作用。至少从盒子里。可能是有人解决了这个问题。
答:
您无法在浏览器中调试 Angular 4 应用程序的节点部分。节点在服务器部分工作,因此您无法在浏览器(客户端)中看到这一点。
启动时调试此部分的唯一方法是使用外部工具,如 WebStorm 等。如果您在 TS 模式下启动应用程序,则可以使用此工具的所有功能。ts-node server.ts
Debug mode
评论
若要创建服务器端应用模块,请app.server.module.ts运行以下 CLI 命令。
ng add @nguniversal/express-engine
若要开始在本地系统上使用通用呈现应用,请使用以下命令。
npm run dev:ssr
我认为这一小段代码可以帮到你
创建项目
ng n debuggable-universal-server --interactive=false
cd debuggable-universal-server
添加通用
ng add @nguniversal/express-engine --clientProject debuggable-universal-server
评论
安装软件包。ts-node
npm install ts-node
在 IDE 中为 创建新的启动配置。server.ts
将启动配置的类型设置为节点。
将启动配置的程序设置为 。server.ts
将启动配置的 nodeArgs 设置为 。-r ts-node
在 IDE 中启动调试器。
这将在调试模式下启动 Node.js 服务器。然后,您可以单步执行代码并根据需要设置断点。
评论
node --inspect