【发布时间】:2020-03-15 10:01:36
【问题描述】:
需要将 ts 项目拆分为多个存储库/包,并从它们的各种组合中构建微服务。在一个微服务中需要一些包,在另一个中需要一些包,在所有微服务中需要一些包。
在部署时编译代码并执行 JS 文件(当然)。
但是现在事实证明,如果一个插件包只是简单地从一个ts文件中导出一些代码,那么在编译的微服务执行过程中就会出现错误,因为微服务代码试图从外部库中导入一些东西并且确实找不到具有此类内容的 js 文件。
为了正确维护这样一个系统,我不仅需要更改连接包的 ts 代码,还需要构建它们,将编译后的代码推送到存储库中,并发布 npm 包,包括这个编译后的代码。
很不方便,看起来很奇怪,而且很容易忘记。
有没有办法组织存储库/npm 包,只发布 TS 代码(并保持最新),在微服务上编译 ts 代码时从外部库和 JavaScript 中提取在部署期间在一个地方生成一次?
【问题讨论】:
-
不是您问题的直接答案,但我们解决了与 lerna 非常相似的问题。可能值得一看。
标签: node.js typescript npm import microservices