我只是尝试构建一个模块/组件,并将其作为JS包。它构建:
@Component({
selector: 'app-component-overview',
template: '<button><ng-content></ng-content></button>',
})
export class ButtonComponent {}
@NgModule({
declarations: [ButtonComponent],
})
export class AppModule {}
问题是,在将其构建为javascript包之后。当我尝试将其导入到另一个Angular 项目中时。我得到:
//ERROR in ... error TS2306 '...' is not a module.
loadChildren: () => import('...').then(m=>m.ButtonModule)
也许我错过了这里的重点和事情是不同的Angular ,有webpack控制使它容易得多,但我想避免带来自定义建设者和摆弄设置尽可能少。
问题是,有没有一个很好的方法来捆绑一个模块,甚至是一个独立的组件,作为一个JS捆绑包在我的项目之外使用?我找不到任何有用的东西,除了高层次的解释重用和惰性加载的东西已经在同一个项目。
2条答案
按热度按时间elcex8rz1#
要将Angular模块或组件绑定到JavaScript并在另一个Angular项目中使用它,您可以遵循以下常规步骤:
使用Angular CLI的build命令构建模块或组件。这将创建一个可用于其他项目的生产就绪代码包。css复制代码ng build --prod --project=my-module构建完成后,导航到由build命令生成的dist文件夹。bash
在其他Angular项目中安装该包。
导入其他Angular项目代码中的模块或组件。python从“my-module”复制代码导入{ MyModule };使用其他Angular项目中的模块或组件,就像使用其他模块或组件一样。这些步骤可能会根据您的具体需要而有所不同,但它们应该提供了如何在其他项目中捆绑和使用Angular模块或组件的总体思路。
d7v8vwbk2#
看起来您正在将此模块构建为应该在浏览器中运行的 * 应用程序 * 的一部分。但您正在寻找的是将此模块构建为可在其他项目中重用的 * 库 * 的一部分。
请参阅how to create a library上的官方Angular 指南。