在 Angular 6 组件中的两个不同的 templatesUrl 之间切换

Change between two different templatesUrl in Angular 6 component

在 Angular6 中,我们有两个不同的模板。html 每个组件,我们需要根据我们部署的环境更改它。

我们正在寻找最佳实践来做到这一点。

思考解决方案:
- 无法将 var 传递给组件装饰器。
- 由于 Angular CLI 6 可能会生成多个项目(ng generate --application)。

最后一点可能是一个解决方案,但我们需要共用同一条路线。

当我们在寻找一个 webpack 插件来替换字符串时,我们在 this github 参考资料中找到了一个非常简单的方法。

关键是将组件装饰器 "templateUrl" 更改为 "template" 并传递带有 vars 的要求,例如:

var url = environment.option ? '.other' : '';

@Component({
  selector: 'app-root',
  template: require('./app.component' + url + '.html'),
  styleUrls: ['./app.component.scss']
})