Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度';s";prod";构建工件_Angular_Typescript_Azure Devops - Fatal编程技术网

Angular 角度';s";prod";构建工件

Angular 角度';s";prod";构建工件,angular,typescript,azure-devops,Angular,Typescript,Azure Devops,我有一个使用此命令构建的角度项目(在Azure DevOps中) 在artifacts文件夹中找不到Typescript文件,这没关系,因为编译的Typescript文件是在缩小的JS文件中转换的 问题是,当我部署和使用应用程序时,我可以在“源”选项卡“webpack://”文件夹中看到HTML和Typescript文件。一般来说,Chrome似乎可以访问项目的文件 这是一个巨大的问题,因为客户可以看到实际的源代码。 你知道怎么会这样吗?我在构建过程中犯了什么错误 谢谢我假设在angular.

我有一个使用此命令构建的角度项目(在Azure DevOps中)

在artifacts文件夹中找不到Typescript文件,这没关系,因为编译的Typescript文件是在缩小的JS文件中转换的

问题是,当我部署和使用应用程序时,我可以在“源”选项卡“webpack://”文件夹中看到HTML和Typescript文件。一般来说,Chrome似乎可以访问项目的文件

这是一个巨大的问题,因为客户可以看到实际的源代码。 你知道怎么会这样吗?我在构建过程中犯了什么错误


谢谢

我假设在angular.json文件中设置了
“sourceMap”:true
设置

第一种解决方案是使用
--sourceMap=false
标志运行
ngbuild
命令。事实上,在官方的
ng build
文档中,
--sourceMap
默认为true。 第一个解决方案的问题是,我将无法在部署的应用程序上执行调试操作(例如在测试和QA环境中)

下面的链接允许这两种情况,即在部署的应用程序中隐藏sourceMap,但允许在需要时执行调试操作

这就是我所做的:

  • 在my
    angular.json中设置此配置
    
    "sourceMap": {
        "hidden": true,
        "scripts": true,
        "styles": true
    },
    
    这样一来,如果隐藏,任何源地图都不会自动链接到缩小的JS文件和
    webpack://
    文件夹
  • 在Google Chrome的开发工具“源”选项卡中,选择
    main HASH.js
    文件,在其代码中右键单击背景并选择“添加源地图”。在文本框中输入sourceMap链接(即缩小的JS路径加上“.map”后缀)
  • 这将显示允许在TS代码中设置断点的
    webpack://
    文件夹


    图片中的内容根本不是构建输出。是否确实不在开发服务器上?是否出于某种原因在生成输出中包含源映射?@mamichels否,那不是artifacts文件夹。这就是在中运行的已部署应用程序Chrome@R.Richards“源映射”配置在哪里?我甚至不知道源映射是什么:)默认情况下,ng build cmd不创建源映射。通过将
    --sourceMap=false
    添加到
    ng build
    "sourceMap": {
        "hidden": true,
        "scripts": true,
        "styles": true
    },