我有两个环境-一个用于测试,另一个用于发布.我有一个独立的组件可以帮助我进行调试,但我不想将其包含在发布版本中.我如何才能排除它?我的意思是,我的目标不是隐藏它(在任何 *ngIf标志后面),而是将其从构建中完全删除.
我有两个环境-一个用于测试,另一个用于发布.我有一个独立的组件可以帮助我进行调试,但我不想将其包含在发布版本中.我如何才能排除它?我的意思是,我的目标不是隐藏它(在任何 *ngIf标志后面),而是将其从构建中完全删除.
Two possible ways:
您可以使用Angular(https://angular.io/guide/defer)的延迟视图功能.
您将能够定义类似于以下内容:
@defer (when debugMode) {
<your-component />
}
其中debugMode是环境变量.
这基本上是组件的懒惰加载功能.
您实际上可以从Angular构建中排除文件tsconfig.json:
"exclude": [
"path/to/your/file.ts"
]
要使用此功能,您可能需要为"生产"构建设置一个tsconfig.json,为不排除该文件的"调试"构建设置一个tsconfig.json.
然后更新angular.json以使用正确的tsconnect文件来构建:
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
},
{
"replace": "src/yourconfig.ts",
"with": "src/yourconfig.prod.ts"
}
],