我有一个简单的Angular 网站,显示各种产品,从数据库返回的简单列表,最初只是基于英国,但现在另一个应在法国推出,所以我有两个API一个uk.域和一个fr.域.
我想使用相同的前端,而不是部署两个独立的前端,switch 只更改加载到其中两个页面上的产品.
与此一起,我还有包含必要终结点的环境.dev.ts和环境.prod.ts文件.
理想情况下,我会有一个按钮,一旦部署完成,就可以在区域之间切换.
这是可能的还是糟糕的做法?如果是这样的话,最佳解决方案是什么?
我有一个简单的Angular 网站,显示各种产品,从数据库返回的简单列表,最初只是基于英国,但现在另一个应在法国推出,所以我有两个API一个uk.域和一个fr.域.
我想使用相同的前端,而不是部署两个独立的前端,switch 只更改加载到其中两个页面上的产品.
与此一起,我还有包含必要终结点的环境.dev.ts和环境.prod.ts文件.
理想情况下,我会有一个按钮,一旦部署完成,就可以在区域之间切换.
这是可能的还是糟糕的做法?如果是这样的话,最佳解决方案是什么?
如果两个API的数据模型相同,则只需在UI中进行简单的切换即可.稍后,有多种方法可以获取用户的位置,这样您就可以自动猜测正确的API.例如:geolocator api
切换终端的示例:
export const environment = {
production: true,
apiEndpoints: {
uk: 'https://uk.domain/api',
fr: 'https://fr.domain/api'
}
};
export class ProductService {
constructor(private http: HttpClient) {}
getProducts(region: 'uk' | 'fr') {
const apiEndpoint = environment.apiEndpoints[region];
return this.http.get(`${apiEndpoint}/products`);
}
}