Angular 2组件可以外部化吗?

Kar*_*yal 5 architecture git npm angular

TL; DR

是否有可能有类似package.json部件在角2应用程序?

长版

我们的应用程序的组件正在独立开发。它们具有自己的服务,常量和国际化字符串。每次对组件进行更新或更改时,都会更新应用程序版本。有没有一种方法可以使一个组件版本化,并为每个组件提供单独的存储库?每个被声明为主要应用程序的依赖项?

我的想法

  • 在用于开发组件的每台机器上创建一个虚拟应用程序
  • 使用组件并将其提交到存储库
  • 主应用程序的构建过程将这些存储库指定为依赖项,并在构建期间拉出它们(特定版本)。
  • 另一个任务将它们复制到应用程序目录(来自node_modules

以前有人做过吗?有更好的方法吗?

Kar*_*yal 1

这比我想象的要简单。只需将组件文件作为单独的模块移出应用程序即可。npm install --save将其发送到应用程序并更新app.module.ts文件以指向它。Angular CLI 将自动处理剩下的事情。

应用程序模块.ts

import { ProfileCardComponent } from '@yoloinc/profile-card-component/profile-card.component';