我正在寻找一种使用组件替换自定义模板的标准模板,但仍保持AOT兼容性的方法。
我知道可以编写一个替换原始模板的新组件来完成此操作,但是我想提供一些配置约定。
目标:如果您使用 my-component 并想要替换其原始模板,则只需在文件夹托管中创建名为overrides/my-component.html
的模板父组件。
以Dynamic Component Loader官方Angular示例中使用的 ad-banner 组件为例:在该示例中, hero-job-ad 和 hero -profile 组件只是意味着在特定上下文中替换原始模板。 我认为该代码为准配置,因此我想提供一些约定。
我认为可以通过在编译时向Webpack添加一些自定义资源加载器来实现此功能,但到目前为止我还不知道如何实现。
答案 0 :(得分:0)
没有内置的解决方案-但是既然您想拥有编译时覆盖的可能性,那为什么不写一个shell脚本来将所有内容从覆盖递归地复制到主要源中的相应目录。
另一种选择是使用动态组件 https://blog.angularindepth.com/here-is-what-you-need-to-know-about-dynamic-components-in-angular-ac1e96167f9e