angular - 如何将第三方开发者开发的模块集成到主要的 Angular 应用程序中
问题描述
我有一个主要的 Angular 应用程序,其他公司的其他开发人员必须提供集成在我们的应用程序中的功能。
我想为他们提供一些文档并要求他们在一个模块中开发所有内容,但这可能导致他们访问一些全局状态并破坏一些东西。
我不喜欢集成的方式是在应用程序中复制该模块,编辑代码并导入模块和主要组件。它需要针对每个模块进行测试,并且每个外部模块都涉及到高风险。
我还能怎么看待这个问题?
我正在考虑要求他们将整个模块作为 Web 组件提供,但我不相信它会完全解决问题。
如何让第三方开发人员为我的应用程序创建模块并以尽可能低的风险集成它们?
解决方案
无论哪种方式,其他开发人员都必须提供一个自我维持的组件。让它成为一个 Web 组件或 Angular 模块,他们必须创建它以便它可以独立工作。
所以这两种解决方案都是可以接受的。
为了避免最大的风险,您确实应该提供他们可以使用的公共 API,并通过不解释“幕后”部分来保护您的代码。
你不能真正使用另一个这样做,因为 Angular 是一种编译语言。这意味着代码必须在构建您的应用程序之前存在(Web 组件除外,但由于您在 Angular 中,不妨使用 Angular 模块)。
最后,这是一个 Web 应用程序,无论哪种方式,如果他们愿意,他们都可以通过访问其 URL 来访问您的整个应用程序。如果我是您,我不会为此挠头太久:只需要求自持模块,并将它们作为 Angular 模块集成到您的应用程序中。
推荐阅读
- ios - 使用结构而不是数组填充 UITableView 数据源
- google-app-engine - 限制我的 Google App Engine 应用程序访问 Google API 密钥
- javascript - 显示JS函数的返回值
元素
- ios - 使用 iTMSTransporter 更新应用内购买?
- java - 对于 AWS Lambda,Build Native 太慢了
- java - 带参数的本机查询 - 在文本值中转义双引号
- java - Java用括号分割字符串
- r - 为数据帧中的每个组分配随机整数
- javascript - 如何使用单击事件侦听器制作按钮切换显示?
- php - 为什么我的 PHP recaptcha 联系表没有将消息发送到指定的电子邮件?