【发布时间】:2016-06-25 03:28:38
【问题描述】:
我正在尝试在我的 angular2 应用程序中实现功能标志,以便能够发布尚未准备好进行生产的功能。现在我有两个市场,英语和德语市场。我想分别控制这些市场上的功能。
我对如何使用这些标志的想法:
- 根据给定市场打开/关闭功能。
- 基于市场的 A-B 测试功能。
- 在不同的组件上测试新样式(例如,英国市场以一种给定的方法查看某个列表,而德国市场对此的看法不同,也如 A-B 测试)。
- 让特定用户能够测试特定功能(管理员、普通消费者等等)。
为了启用其中的一些功能,我尝试在我的 Angular2 应用程序中创建两个 Json 文件。
示例:
{
"PassengersFeature": {
"displayed": true
},
"VehicleFeature": {
"displayed": false
},
"DateFeature": {
"displayed": false
}
}
现在,我只添加了一个值 = "displayed" 来测试。
根据给定的市场“EN”或“DE”,我正在加载正确的 json 文件并将其放入我创建的功能对象中。
// When locale is set, load feature flags files.
this.features = this.appService.getFeaturesForLocale();
现在我想与应用程序中的所有其他组件共享这个对象。服务是最好的方法吗?或者你可以使用你在 angularJS 中所做的 $scope 之类的东西吗?
【问题讨论】:
-
您的方法是否从页面源中排除功能?例如,如果 EN 用户查看您的页面来源,他们可以看到 DE 功能?
标签: angular featuretoggle