gpt4 book ai didi

Typescript IDE 自动从 dist 导入而不是 src

转载 作者:行者123 更新时间:2023-12-04 13:12:14 29 4
gpt4 key购买 nike

我目前正在做一个 Typescript Monorepo 项目。
文件夹结构如下所示:

Clients
├- tsconfig.json
└- Packages
├- Core
| ├- tsconfig.json
| ├-┬ src
| | └- MyModule.ts
| └-┬ dist
| ├- MyModule.js
| └- MyModule.d.ts
└┬ Web
├- tsconfig.json
└-┬ src
└- WebComponent.tsx
core/src包含我的模块,其中 core/dist包含我的构建。
当我在 web/src/WebComponent.tsx 上自动导入模块时它自动导入为 @myApp/dist/MyModule而不是 @myApp/src/MyModule .
这是我的 TSConfig 路径的样子(在根文件夹中):
"baseUrl": "./",
"paths": {
"@myApp/core/src/*": ["./packages/core/src/*"],
}
我也试过这个:
"baseUrl": "./",
"paths": {
"@myApp/core/*": ["./packages/core/*"],
}
这似乎不是 IDE 问题,因为我们的团队中有人同时使用 VSCode 和 Webstorm,两组用户都会遇到此错误。
编辑:
如果您也遇到这个问题,我写了一个 temporary fix然而,一个适当的解决方案将不胜感激!

最佳答案

我不确定这是否会完全解决您的问题,但我还是将其留在这里。我只能在 Webstorm 上重现该问题,而不能在 Visual Studio Code 上重现。如果这不能解决您的问题,请发表评论,我会进一步调查。
typescript 配置:tsconfig.json您可以尝试修改您的 tsconfig.json s 明确排除 dist文件夹使用 exclude标志(与 include 处于相同的 JSON 级别),记录在 TypeScript's TSConfig Reference documentation 下.
添加以下配置条目

   "exclude": ["dist/**/*"]
应指示不应从 IDE 中导入该目录。然而,这
似乎适用于 Visual Studio Code,但不受 Webstorm 的尊重(在下一节中讨论)。我不是 100% 确定为什么 Visual Studio Code 决定尝试导入 includes 中提到的文件之外的文件.如果这在 Visual Studio Code 上对您不起作用,我将需要更多详细信息来进行复制。
WebStorm(或任何其他 JetBrains IDE)
有两种解决方案:
  • 特定于项目:在任何 JetBrains IDE 上,您可以通过打开上下文菜单(右键单击,默认情况下)并单击 dist 将目录标记为“排除”(例如 Mark Directory as | Excluded 目录)。 .
  • 全局:下 File | Settings | Editor | File Types ,您可以在 Ignore Files and Folders 下添加另一个条目为 dist .

  • Note: This will prevent the IDE from displaying any "sources" from the excluded directory (e.g. dist) as a suggestion. If the identifier is unambiguous, it will correctly import it without a further prompt.


    不幸的是,这似乎需要开发人员在初始化项目后进行手动交互 - 我无法找到您是否可以在 VCS 存储库中指定排除规则并在 IDE 中初始化项目时自动应用设置。

    关于Typescript IDE 自动从 dist 导入而不是 src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64039376/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com