Typescript: Yarn Workspaces IDE 支持 (IntelliJ, VSCode ...)

21
在处理一个大的 TypeScript 项目时,我们决定使用 yarn workspaces 将代码移植到单一仓库中。
我们使用 webpack 进行构建和打包,一切都运作得很好(特别是本地模块/软件包之间的链接)。
由于 yarn workspaces 会将大部分的 node_modules 存储在单一仓库的根文件夹中,当在“内部”项目(即 monorepo 的“软件包”)中编写代码时,IDE(IntelliJ 和 VSCode)难以解析任何 node_modules 的导入。
奇怪的是,这些导入不能被识别,但另一方面,如果手动输入导入语句,大多数情况下可以在 IDE 中正确地导航到源码/定义。
我们已经尝试告诉 IntelliJ 查找另一个文件夹的 node_modules,但仍然不理想。
请分享您在使用 yarn workspaces / monorepo(例如 lerna)时开发代码的经验。
您使用哪个 IDE?
您是否向 IDE 和/或 package.json、tsconfig.json 添加了任何特殊配置?

相关:WebStorm现在支持Monorepos:https://blog.jetbrains.com/webstorm/2018/04/webstorm-2018-1-1/ - Lukas
4个回答

4

https://github.com/Izhaki/mono.ts

这个项目使用yarn工作区,并与VSCode非常搭配。我希望README足够清晰易懂。

基本上,使用两个(并行)TypeScript配置树:

  • 预构建 - 使用别名(用于VSCode、测试、webpack等)。
  • 构建 - 使用TypeScript 3项目引用进行发布。

3

3

1

请分享您在使用yarn工作区/monorepo(例如lerna)以及如何开发这些monorepos中的代码方面的经验。

您使用哪个IDE?

既然你问了。我基本上遇到了与你相同的问题。我正在寻找的一个解决方案是在此处禁用hoisting node modules。不幸的是,它似乎还没有稳定版本。

我最终放弃了工作区,暂时,直到他们修复IDE或发布nohoist选项。相反,我现在使用lerna。它不太方便,但它不会hoist,因此构建工具和IDE都满意。

哦,我也使用IntelliJ(ultimate)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接