在Angular中使用Sourcemaps生成生产版本-CLI

时间:2019-08-26 15:07:35

标签: angular 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我得到了源地图,但随后得到了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"
        ]
    }
}

2 个答案:

答案 0 :(得分:0)

您应该像这样编辑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

但是我不建议您在生产环境中打开源地图,因为这会增加捆绑包的大小

答案 1 :(得分:0)

您可以尝试

ng build --prod --source-map=true|false

angular.io/cli/build