我正在开发一个包含许多模块和组件的 Angular 库,其中之一是插件加载系统。
插件加载系统的工作方式基于以下假设:导入它的项目(通过 npm)将包含一个“plugins”目录,其根目录中有一个“index.ts”文件,插件加载服务将导入index.ts 导出的任何组件。
我正在使用动态模块导入语法 - async import('...')
语句,当它指向物理上存在的文件时,它工作得很好,但这样的文件赢了在我编译/发布我的库时它不存在,它只存在于稍后阶段,在使用它的项目中。
我如何“欺骗”Angular 编译器在不存在 ../../plugins
模块的情况下打包库,而不是在运行时获取插件?
最佳答案
您可以使用动态模块加载器,例如 System.JS。
有关类似的实现,请参阅此问题:
Load new modules dynamically in run-time with Angular CLI & Angular 5
关于angular - Angular 6库包中的动态模块导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51208264/