我是Angular的新手。我在sourcemap
中看到了tsconfig.json
,默认情况下是"sourceMap": true
。我毫不怀疑,发现this link是有用的。仍然我对此有以下疑问。
我设置了"sourceMap": false
,但是在应用程序中找不到任何更改。如果我这样设置的话,实际的变化是什么?
答案 0 :(得分:6)
应用程序的运行方式将保持不变。
更改将在您的调试体验中进行。
Source maps对于调试代码很有帮助。您使用TypeScript编写代码,然后编译器将源代码转换为JavaScript。当您的应用程序在Firefox之类的浏览器中运行时,该浏览器正在运行JavaScript。即使浏览器运行的是JavaScript,如果您在Firefox中打开调试器,调试器也会显示TypeScript源代码,并允许您在其中设置断点。调试器之所以能够这样做,是因为源映射将TypeScript源代码映射到JavaScript运行时代码。这就是源映射的作用:它们将源代码映射到运行时代码,以在运行时启用源代码调试。
答案 1 :(得分:3)
当sourceMap
设置为false
时。输出将在没有源映射文件的情况下构建。否则,您将无法使用ts文件的浏览器进行调试。
答案 2 :(得分:2)
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
}