起因
由於項目中代碼層級比較深,且多。所以相互之間引用起來會比較麻煩,各種 …/,…/…/,…/…/…/ 等等
爲了解決這個問題,使用 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/*"]
}
另外對於這個問題的具體原因分析我也只是猜測,如有不對,還望指教。