我们如何在同一存储库中的两个 TypeScript 项目之间共享代码?



我们有这样的项目结构:

api (dir)
-- package.json
-- tsconfig.json
-- src (dir)
-- client (dir)
---- package.json
---- tsconfig.json
---- src (dir)

"客户端"目录是一个创建-反应-应用程序项目,在本地开发时代理 API,因此有这个目录结构。

我们希望在两个项目之间共享某些代码(常量、实用程序(。 我们已经探索了许多在 TS 中执行此操作的方法(例如多个根目录(,但没有成功。

我们如何具体地在这两个项目之间设置代码共享?

以下是我的结构:

api
|- src
|- package.json
|- tsconfig.json
client
|- src
|- package.json
|- tsconfig.json
shared
|- src
|- (shared code goes here)
|- package.json
|- tsconfig.json
package.json
tsconfig.base.json (includes tsconfig options shared between all projects, e.g. strict mode)

然后你可以在项目中设置 yarn 工作区,这样两个项目都可以声明对shared的依赖关系,yarn 将优雅地(尽可能多地(编排所有三个的依赖关系解析。

请注意,您需要编译shared中的代码,以便其他项目正确导入它。

最新更新