参考此处提出的问题 this.debug is not a function Angular Universal 。 this.debug is not a function
只是一个副作用是正确的,但是这样的错误会导致编译器在开发过程中停止(在观看时)。
对于此类错误,我如何防止此类行为?
此外,它有时只是随机停止,请参见下面的屏幕截图,它显示编译完成,然后 angular 正在侦听,然后在我刷新 UI 后,它只是简单地停止没有错误。
我认为这可能与 nguniversal
有关,我创建了 https://github.com/angular/universal/issues/2200 问题。我真的希望任何人都可以真正提供帮助。
当我运行 ng run serve-ssr
时,我希望 Angular 服务器会运行并观察更改,并且根据我的更改,它会重建(它做得非常好)但所有这一切都会继续直到发生错误或代码中的错误。从这个意义上说,它会停止并退出。
我不知道这是否是一个错误,我只是将我的 angular 升级到 12 并将 nguniversal 升级到 v12,希望这个问题会消失,但它没有,我不知道去哪里。< /p>
我正在处理一个复杂的项目,从头开始编译需要一些时间。在开发环境中运行时,我出了事故并写错了东西,我会得到那个错误的错误,然后会出现 this.debug is not a function
消息,然后监视/编译器将停止。
angular.json
:
"server": {
"builder": "@angular-devkit/build-angular:server",
"options": {
"outputPath": "dist/server",
"main": "server.ts",
"tsConfig": "tsconfig.server.json",
"sourceMap": true,
"optimization": false
},
"defaultConfiguration": ""
},
"build-for-ssr": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/browser",
"index": "src/index.template.html",
"main": "src/main.browser.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"aot": false,
"assets": [
"src/favicon.ico",
"src/manifest.json",
"src/assets",
{
"glob": "**/*",
"input": "node_modules/intro.js",
"output": "./assets/intro.js/"
},
{ "glob": "**/*", "input": "node_modules/monaco-editor", "output": "assets/monaco-editor" }
],
"styles": [
"./node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
"src/styles.scss",
"node_modules/intro.js/introjs.css"
],
"scripts": ["node_modules/intro.js/intro.js"],
"vendorChunk": true,
"extractLicenses": false,
"buildOptimizer": false,
"sourceMap": true,
"optimization": false,
"namedChunks": true
},
"defaultConfiguration": ""
},
"serve-ssr": {
"builder": "@nguniversal/builders:ssr-dev-server",
"options": {
"browserTarget": "build-for-ssr",
"serverTarget": "server"
},
},
答案 0 :(得分:0)
我发现了这个问题,根据 this comment,我将这个文件 return attempts > 10 || !allowedErrorCodes.includes(error.code)
中的 return attempts > 10000 || !allowedErrorCodes.includes(error.code)
更新为 universal/modules/builders/src/ssr-dev-server/utils.ts
,从那以后,我没有遇到编译器退出的情况或在开发过程中因代码错误而中断。
唯一的技巧,如果您在代码中有错误的情况下运行 ng run serve-ssr
,这不会产生影响。你仍然会得到 this.debug is not a function
。但是一旦它被修复并且你运行它。无论您在代码中犯了什么错误,它都不会被中断。