1 問題描述
Vue3
的組合式API
無法在WebStorm
中正確識別,表現為defineComponent
等無法被識別:
2 嘗試方案
猜想這種問題的原因是無法正確識別對應的Vue3
庫,筆者相信WebStorm
是可以做到的,只是某些配置沒有正確,筆者嘗試過在設置的Libraries
中勾選上node_modules
,但是沒有效果。
3 解決辦法
最終的解決辦法參考了此處(圖源):
選擇node_modules
文件夾,右鍵選擇Mark Directory as
,最后選擇Not Excluded
即可。
之后會花費一段時間索引,等待完成即可。
4 一些思考
看了一下WebStorm
的文檔,項目中的文件夾總共分為四類:
Source
:默認選項,所有文件夾默認都被視為Source
除非設置為了Tests
/Resource Root
/Excluded
Tests
:標記為測試的文件夾Resource Root
:資源文件夾,在輸入某些需要資源的代碼時,比如<img src=xxxx>
,會自動提示該文件夾路徑下的資源文件Excluded
:代碼補全、代碼導航等會忽略的文件夾。這個選項能提高WebStorm
性能
在設置中搜索Directories
可以發現node_modules
默認是Excluded
:
標記為Not Excluded
后,就不是紅色了:
因此解決並不難,只是無法正確識別的原因。