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,然后正确地编译所有这些内容,但我会把它推迟到问题出现之前,但要提前说明,以防会明显影响答案。)
编辑
我还想说,我到处寻找答案,但要么建议的解决方案似乎不起作用,要么它们无法解决我的项目中不同的活动部分,使其更加复杂。