利用vscode开发,在*.vue文件的script标签中使用typescript的语法时,可能会出现无法在js文件中使用ts语法的报红
即使是将ts语法写在.d.ts文件中,再在.vue页面使用也无法识别到:
这个问题主要是出在vscode上,在vscode右下角可以查看到当前的语言模式为纯文本或html,vscode无法识别到vue语言模式,才导致在解析时出现报红。
网上的方法是先检查script标签是否设置lang=“ts”
<script lang="ts" setup>
</script>
如果还是不行,就找到vscode的设置中打开settings.json文件,找到 "files.associations"配置项,将以下代码注释掉:
"files.associations": {
".eslintrc": "json", //注释掉
"*.vue": "html" //注释掉
}
但是这样的做法会使得我们的代码再也没有丰富的颜色,变成全白的颜色,降低代码体验不推荐。
解决方法:
究其原因还是因为vscode无法识别vue的语言模式,只需要在vscode的扩展中下载vue official插件,这样vscode的语言模式中就会有vue模式,切换语言模式为vue,这样不论在*.vue的script标签中写ts语法还是在*.d.ts文件中写ts语法都可以正常使用。