首页 > 解决方案 > 在 Angular 中使用源映射生成生产版本 - CLI

问题描述

生产构建后如何保留源地图?

现在,我的命令如下所示:

"build-prod": "ng build --app=release -prod && cp -R lang dist"

我尝试将其更改为:

ng build --app=release --sourceMap=true -prod && cp -R lang dist

但没有任何改变。

如果我这样做: ng build --sourcemap我得到了 sourcemaps,但我得到的是 index.html 而不是 index.prod.html。

是否可以编辑第一个命令来构建源映射文件?

这是我的tsconfig.json文件:

{
    "compileOnSave": false,
    "compilerOptions": {
        "outDir": "./dist/out-tsc",
        "sourceMap": true,
        "declaration": false,
        "moduleResolution": "node",
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "target": "es5",
        "typeRoots": [
            "node_modules/@types"
        ],
        "lib": [
            "es2017",
            "dom"
        ]
    }
}

标签: javascriptnode.jsangulartypescriptangular-cli

解决方案


你应该angular.json像这样编辑你的

"configurations": {
    "production": {
        "fileReplacements": [
            {
                "replace": "src/environments/environment.ts",
                "with": "src/environments/environment.prod.ts"
            }
        ],
        "optimization": true,
        "outputHashing": "all",
        "sourceMap": false, // change to true

然后运行

ng build --prod

但我不建议您在生产中打开源映射,因为它会增加捆绑包的大小


推荐阅读