如何防止 this.debug is not a function 导致编译器退出

2024-06-19

参考这里提出的问题this.debug 不是 Angular 通用函数 https://stackoverflow.com/questions/65966642/this-debug-is-not-a-function-angular-universal。这是正确的this.debug is not a function只是一个副作用,但是这样的错误会导致编译器在开发过程中停止(观看时)。

我怎样才能防止这种错误的行为?

另外,它有时只是随机停止,请参见下面的屏幕截图,它显示编译完成,然后 Angular 正在监听,然后在我刷新 UI 后,它只是简单地停止,没有任何错误。

我认为这可能与nguniversal, 我创建https://github.com/angular/universal/issues/2200 https://github.com/angular/universal/issues/2200问题。我真的希望任何人都能真正提供帮助。

当我跑步时ng run serve-ssr,我希望角度服务器将运行并监视更改,并且根据我的更改,它将重建(它做得非常好),但所有这些都会继续,直到发生错误或代码中出现错误。从这个意义上说,它会停止并退出。

我不知道这是否是一个错误,我刚刚将我的 Angular 升级到 12,将 nguniversal 升级到 v12,希望这个问题会消失,但它没有消失,我不知道该去哪里。

我正在开发一个复杂的项目,需要一些时间从头开始编译。当在开发环境中运行时,我发生了意外并写了一些错误的内容,我会得到该错误的错误,然后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"
          },
        },

我想出了这个问题,按照这条评论 https://github.com/angular/universal/issues/1848#issuecomment-877819300,我更新了return attempts > 10 || !allowedErrorCodes.includes(error.code) to return attempts > 10000 || !allowedErrorCodes.includes(error.code)在这个文件中node_modules/@nguniversal/builders/src/ssr-dev-server/utils.js,从那时起,当代码中出现错误时,我就没有遇到编译器退出或在开发过程中被中断的情况。

唯一的技巧,如果你跑步,这不会产生影响ng run serve-ssr代码中有问题。你仍然会得到this.debug is not a function仍然。但是一旦它被修复并运行它。无论您在代码中犯什么错误,它都不会被中断。

Edit将目录位置更新为完整路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止 this.debug is not a function 导致编译器退出 的相关文章

随机推荐