【发布时间】:2021-10-15 20:22:51
【问题描述】:
我经常使用两种不同的配置在本地运行一个项目。一个带有存根数据,一个连接到 Spring Boot 后端。我可以通过 connectToBackend=true 使用以下逻辑在这些模式之间切换。
// Angular 11, src/environments/environment.ts
import processStubs from '[REDACTED]';
import processBackend from '[REDACTED]';
import { Launcher } from '[REDACTED]';
let connectToBackend = false;
let processLocal;
if (connectToBackend) {
processLocal = processBackend;
} else {
processLocal = processStubs;
}
export const environment = {
process: processLocal,
launcher: Launcher,
production: false,
backendConnection: connectToBackend,
};
如何使connectToBackend 成为服务项目时由命令行设置的动态变量?例如:
ng serve --connectToBackend=true
【问题讨论】:
-
为什么不把它做成两个环境?
-
environment.prod.ts 已在使用中。我认为您可以将其添加到 angular.json 中的自定义环境列表中,但我无法使其与“ng serve --...”一起使用。
-
不清楚你到底做了什么,但如果你遵循例如angular.io/guide/build 应该可以。如果没有,请给minimal reproducible example。这肯定比尝试添加自定义参数更容易。
-
可以创建其他环境,查看:itnext.io/…angular.io/guide/…
-
感谢您和 Arutsudar 的以下回答。多环境解决方案是可行的方法,并且现在适用于 ng serve。我错过了 angular.json 中“服务”下的配置。
标签: angular angular-cli