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
后,就不是红色了:
因此解决并不难,只是无法正确识别的原因。