如何防止this.debug is not a function导致编译器退出
How can we prevent this.debug is not a function from causing the compiler to exit
参考此处提出的问题 。 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 希望这个问题会消失,但它没有,我也没有知道去哪里了。
我正在从事一个复杂的项目,需要花费一些时间从头开始编译。当 运行 在开发环境中发生意外并写错了东西时,我会得到那个错误的错误然后 this.debug is not a function
消息会出现然后 watch/compiler 会停止.
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"
},
},
我根据 this comment 解决了这个问题,我在这个文件 universal/modules/builders/src/ssr-dev-server/utils.ts
中将 return attempts > 10 || !allowedErrorCodes.includes(error.code)
更新为 return attempts > 10000 || !allowedErrorCodes.includes(error.code)
,从那以后,我没有遇到当代码中的错误完成时,编译器退出或在开发过程中被中断。
唯一的技巧,如果您 运行 ng run serve-ssr
代码有问题,这不会影响。你仍然会得到 this.debug is not a function
。但是一旦它被修复并且你 运行 它。无论您在代码中犯了什么错误,它都不会被打断。
参考此处提出的问题 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 希望这个问题会消失,但它没有,我也没有知道去哪里了。
我正在从事一个复杂的项目,需要花费一些时间从头开始编译。当 运行 在开发环境中发生意外并写错了东西时,我会得到那个错误的错误然后 this.debug is not a function
消息会出现然后 watch/compiler 会停止.
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"
},
},
我根据 this comment 解决了这个问题,我在这个文件 universal/modules/builders/src/ssr-dev-server/utils.ts
中将 return attempts > 10 || !allowedErrorCodes.includes(error.code)
更新为 return attempts > 10000 || !allowedErrorCodes.includes(error.code)
,从那以后,我没有遇到当代码中的错误完成时,编译器退出或在开发过程中被中断。
唯一的技巧,如果您 运行 ng run serve-ssr
代码有问题,这不会影响。你仍然会得到 this.debug is not a function
。但是一旦它被修复并且你 运行 它。无论您在代码中犯了什么错误,它都不会被打断。