使用yarn工作区和typescript将库文件构建到构建文件夹中



我在typescript旁边创建了一个yarn工作区。我有三个文件夹有自己的package.json

/api
/client
/lib

重点是在API和客户端之间共享库中的代码。例如,在API文件中,我可以进行

import {User, UserAccount} from '@myproject/lib'

这是有问题的。

  1. 每次更改内容时,我都需要构建lib
  2. /apibuild文件指向C:/myproject/lib/build/index.js

由于我想通过推送/api/build中的内容将项目部署到heroku,这将失败,因为它在/lib/build中找不到文件。也许我可以把这两个构建文件夹都推到heroku上,但我所希望的是能把所有/lib/src文件编译成/api/build。我的/client正在expo中运行,我想它使用了类似webpack的东西,或者我不知道是什么,它似乎可以做到这一点。我需要使用webpack来实现这一点吗?或者我可以使用yarn工作区和typescript来实现吗?

clientapi包的tsconfig.json中,如果您还没有两个配置,则需要两个配置:

  1. "compilerOptions"中,确保您有"composite": true
  2. 添加"references": [{ "path": "relativePathTo/lib" }]

运行tsc时,使用--build(-b(标志运行它,如下所示:tsc -b。这将构建活动包和references中的任何包。有关TypeScript项目引用的详细信息。

这解决了您在开发中的问题。根据您的项目配置,您可能需要做更多的事情来将其通过CI。

最新更新