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

时间:2018-06-25 17:31:10

标签: typescript create-react-app

我们有一个这样的项目结构:

api (dir)

-- package.json

-- tsconfig.json

-- src (dir)

-- client (dir)

---- package.json

---- tsconfig.json

---- src (dir)

“客户端”目录是一个create-react-app项目,当在本地进行开发时,因此会替代API,因此采用这种目录结构。

我们想在两个项目之间共享某些代码(常量,实用程序)。我们已经探索了在TS中完成此操作的多种方法(例如,多个rootdirs)而没有成功。

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

1 个答案:

答案 0 :(得分:0)

这是我的结构方式:

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 workspaces,以便两个项目都可以声明对shared的依赖关系,并且yarn将优雅地(尽可能多地)协调所有依赖项的解析。三。

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