【问题标题】:Typescript: Yarn Workspaces IDE Support (IntelliJ, VSCode ...)Typescript:Yarn Workspaces IDE 支持(IntelliJ、VSCode ...)
【发布时间】:2017-11-16 19:11:27
【问题描述】:

处理一个更大的打字稿项目,我们决定将代码移动到具有 yarn 工作区的 monorepo。

我们使用 webpack 构建和打包,一切正常(尤其是本地模块/包之间的链接)。

由于 yarn 工作区会将大部分 node_modules 存储在 mono repo 的根文件夹中,因此 IDE(IntelliJ 以及 VSCode)在“内部”项目(所谓的“包”)中编码时无法解析对任何 node_modules 的导入一个单一的仓库)。

奇怪的是,导入是未知的,但另一方面,如果您手动写下来,大多数时候您可以导航到 IDE 中的正确源/定义以进行相同的导入。

我们试图告诉 IntelliJ 去另一个文件夹中查找 node_modules,但仍然不满意。

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

您使用哪个 IDE?

您是否在 IDE 和/或 package.json、tsconfig.json 中添加了任何特殊配置?

【问题讨论】:

标签: intellij-idea ide visual-studio-code yarnpkg monorepo


【解决方案1】:

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

它使用 yarn 工作空间并与 VSCode 很好地结合。我希望 README 足够清楚。

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

  • 预构建 - 使用别名(用于 VSCode、测试、webpack 等)。
  • 构建 - 本质上使用 typescript 3 项目参考进行发布。

【讨论】:

    【解决方案2】:

    IDEA 不提供对 Yarn 工作区的任何支持;如果您错过了,请关注WEB-29250 和链接的门票以获取更新。 您可以尝试将路径映射添加到您的 tsconfig.json - 请参阅 https://intellij-support.jetbrains.com/hc/en-us/community/posts/207656825/comments/115000529564

    【讨论】:

      【解决方案3】:

      自 2018.1.1 起更新 IntelliJ 现在支持纱线工作区,因此如果您使用它应该不会有问题。

      https://blog.jetbrains.com/webstorm/2018/04/webstorm-2018-1-1/

      【讨论】:

        【解决方案4】:

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

        您使用哪种 IDE?

        既然你在问。我基本上遇到了和你一样的问题。我正在研究的一种解决方案是disable hoisting node modules as described here。不幸的是,它似乎还没有进入稳定版本。

        我最终的结果是暂时删除工作区,直到他们修复 IDE 或发布 nohoist 选项。相反,我现在使用lerna。不太方便,但不会提升,所以构建工具和IDE都满意。

        哦,我也在用 IntelliJ(终极版)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-03-12
          • 2018-09-19
          • 1970-01-01
          • 1970-01-01
          • 2019-03-16
          • 2018-10-03
          • 1970-01-01
          相关资源
          最近更新 更多