0

当我们使用'ngc'编译源代码并将skipTemplateCodegen设置为false时,ngc生成.ngfactory.js并且当有角度模块导入时,导入的模块具有入口组件,结果组件工厂也为这些入口组件生成并导入语句是使用相对路径生成的。

我们所拥有的是,ngc 编译 Angular 代码(生成工厂)并使用 rollupjs 将它们捆绑到 UMD 中;由于上面提到的入口组件的附加组件工厂,捆绑的 UMD 有点被污染,因为 import 语句具有到导入的 Angular 模块的入口组件的生成组件工厂的相对路径。

任何线索如何避免/解决这个问题?

使用https://github.com/iamrakesh/ng-extensions repo 进行复制。生成的 UMD JavaScript 可以查看 'platform/assets/sample-ext.module.umd.js'

更新:实际项目设置基于https://github.com/maximusk/extension-mechanism-demohttps://github.com/lmeijdam/angular-umd-dynamic-example

更新:将 github 存储库更新为具有完整概念实现的不同存储库。

4

1 回答 1

0

另一种实现相同目的的替代方法是结合使用 AOT 和 JIT 编译。用于容器应用程序的 AOT 和用于动态加载扩展的 JIT。这个概念的基本实现可以在https://github.com/iamrakesh/ng-extensions-aot-and-jit找到

于 2019-01-07T05:43:51.487 回答