起因
由于项目中代码层级比较深,且多。所以相互之间引用起来会比较麻烦,各种 …/,…/…/,…/…/…/ 等等
为了解决这个问题,使用 tsconfig 的 compilerOptions.paths 搭配 compilerOptions.baseUrl 来实现,但是遇到设置之后不生效的问题。
原始配置
可以看到我们的 tsconfig 与 src 是在同级目录,我们的 include 中表示包含 src 下所有文件。这个时候我们如果再指定同样 src 下面的特别的映射就不会生效,所以我们需要去掉 include 属性,再重启编辑器就行了
结语
这里的配置只是验证是否成功映射,如果需要方便自动 import 和 路径智能提示的话,最好是按照越精确的路径越在前来配置,也就是:
"paths": {
"@lolita/core/*": ["src/framework/core/*"],
"@lolita/server-side/*": ["src/framework/server-side/*"],
"@/*": ["src/*"]
}
另外对于这个问题的具体原因分析我也只是猜测,如有不对,还望指教。