繁体   English   中英

Angular 11 - ng 服务 - 选项“sourceMap”已弃用

[英]Angular 11 - ng serve - Option "sourceMap" is deprecated

我将 Angular 项目从 Angular 10 更新到 11x。 一切正常,除了在使用ng serve运行项目时发出警告(在 ng serve 中没有任何选项)。 警告是:

选项“sourceMap”已弃用:改用浏览器构建器中的“sourceMap”选项。

ng build中未显示警告。

以下是项目的angular.json中的浏览器构建器部分的样子:

"builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/my-app",
            "index": "src/index.html",
            "sourceMap": true,
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "tsconfig.app.json",
            "aot": true,
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],

Angular 11 中的相关内容发生了变化? 如何删除此警告?

我对一些答案感到困惑,这些选项并没有真正被弃用,但现在应该在angular.json的正确"build"部分中指定,而不是"serve"

您需要从已弃用的serve --> options --> sourceMap中删除sourceMap

根据之前的评论,这里是一个工作配置

angular.json中,将此配置添加到projects.[NAME_OF_YOUR_PROJECT].architect.serve.configurations

"dev": {
  "browserTarget": "[NAME_OF_YOUR_PROJECT]:build:dev"
}

像那样:

...
"architect": {
  "serve": {
    ...
    "configurations": {
      "production": {
        ...
      },
      "dev": {
        "browserTarget": "[NAME_OF_YOUR_PROJECT]:build:dev"
      }
    }
  },
  ...

然后,在projects.[NAME_OF_YOUR_PROJECT].architect.build.configurations中添加相应的"dev"配置:

"dev": {
  "optimization": false,
  "sourceMap": true
}

像这个例子:

...
"architect": {
  "build": {
    ...
    "configurations": {
      "production": {
        ...
      },
      "dev": {
        "optimization": false,
        "sourceMap": true
      }
    }
  },
...

现在您只需在package.json中编辑"start"脚本命令:

...
"scripts": {
  "start": "ng serve --configuration=dev",
  ...

你应该在你最喜欢的浏览器中检索源 map 文件!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM