代码之家  ›  专栏  ›  技术社区  ›  user1713450

让Webstorm在自动导入中遵循TypeScript路径

  •  0
  • user1713450  · 技术社区  · 4 年前

    ROOT_DIR/tsconfig.json
        packages/
            ui/
                tsconfig.json
                src/(source files)
            api/
                tsconfig.json
                src/(source files)
            domain/
                tsconfig.json
                src/(source files)
    

    我希望我的前端能够像 import { getUser } from '@project/ui/user 而不是 import { getUser } from '../../../../ui/src/user'

    我已经进入了每个子模块的 tsconfig.json compilerOptions.rootDir = 'src' extends = '../../tsconfig.json' ,在根中 tsconfig.json文件 我已经准备好了 compilerOptions.baseUrl = './packages' compilerOptions.paths["@project/*"] = "./*/src"

    我的理解,基于阅读 JetBrains's 如何做到这一点的文件(说使用 paths 道具),以及 TypeScript's 文件在 路径 道普,你应该这样做。

    但是,当我手动尝试 import { myFunc } from '@project/ui/user cannot find module '@project/ui/user' or its corresponding type declarations .

    如果将光标放在代码中需要import和hit option+enter的对象上,它会添加 import { myFunc } from '../../../../ui/src/user'

    我该怎么解决这个问题(未来可能会有一个后续问题,那就是如何修复Gatsby的config,然后正确地编译所有这些内容,但我会把它推迟到问题出现之前,但要提前说明,以防会明显影响答案。)

    编辑 我还想说,我到处寻找答案,但要么建议的解决方案似乎不起作用,要么它们无法解决我的项目中不同的活动部分,使其更加复杂。

    0 回复  |  直到 4 年前