NodeJS 如果在Angular 中将sourcemap设置为false,会发生什么情况

q5iwbnjs  于 2022-12-22  发布在  Node.js
关注(0)|答案(4)|浏览(192)

我是Angular的新手。我在tsconfig.json中看到了sourcemap,默认情况下它是"sourceMap": true。我几乎没有怀疑,发现this link很有用。我仍然有以下怀疑。
我设置了"sourceMap": false,但在应用程序中找不到任何更改。如果我这样设置,实际更改是什么?

zrfyljdw

zrfyljdw1#

应用程序的运行方式不会发生任何变化。
更改将体现在您的调试体验中。
Source maps有助于调试代码。您使用TypeScript编写代码,编译器会将代码转换为JavaScript。当您的应用在Firefox等浏览器中运行时,浏览器会运行JavaScript。即使浏览器运行JavaScript,如果您在Firefox中打开调试器,调试器将显示TypeScript源代码,并允许您在其中设置断点。调试器之所以能够做到这一点,是因为源代码Map将TypeScript源代码Map到JavaScript运行时代码。这就是源代码Map的作用:它们将源代码Map到运行时代码以允许在运行时调试源代码。

jw5wzhpr

jw5wzhpr2#

sourceMap仅用于开发经验(调试),通常在生产构建中不需要这些文件,如果您检查angular.json,您会发现它为您设置为false

"configurations": {
    "production": {
      "fileReplacements": [
        {
          "replace": "src/environments/environment.ts",
          "with": "src/environments/environment.prod.ts"
        }
      ],
      "optimization": true,
      "outputHashing": "all",
      "sourceMap": false,  <----
      "extractCss": true,
      "namedChunks": false,
      "aot": true,
      "extractLicenses": true,
      "vendorChunk": false,
      "buildOptimizer": true
    }
laik7k3q

laik7k3q3#

sourceMap设置为false时,输出将在没有源Map文件的情况下生成。如果没有源Map文件,您将无法在浏览器上调试ts文件。

r7s23pms

r7s23pms4#

sourcemap属性增强你的调试经验,即使浏览器不能理解typescript它管理Map你的typescript代码到javascript代码.如果在情况下我们需要禁用它我们需要修改在angular.json文件

{
  "sourceMap": false, -- modify this attribute
    "fileReplacements": [
      {
        "replace": "src/environments/environment.ts",
        "with": "src/environments/environment.prod.ts"
      }
    ]
}

相关问题