Vue3+TS项目运行vue-tsc报TS6504需启用allowJs错误咨询
报错产生原因
该TS6504类型错误是vue-tsc处理纯模板Vue单文件组件时的逻辑缺陷导致,具体触发链路如下:
vue-tsc底层基于Volar(Vue语言服务)实现单文件组件的类型推导,当.vue文件未编写任何<script>或<script setup>块、仅存在<template>内容时,Volar会自动生成两份虚拟临时文件参与类型计算:一份是模板编译结果对应的*.vue.__VLS_template.jsx,另一份是组件默认导出逻辑对应的*.vue.js。- 存在缺陷的
vue-tsc版本未将这两份自动生成的虚拟JS/JSX文件标记为内部免校验资源,反而将其识别为需要纳入TS编译流程的项目根文件。 - TypeScript默认配置中
allowJs选项为关闭状态,不允许将JS/JSX文件纳入类型校验范围,检测到上述JS格式的虚拟根文件后就会抛出TS6504报错。
触发报错的Index.vue、PassLayout.vue均为仅含模板内容的无脚本块组件,完全匹配该问题的触发条件。
内容的提问来源于stack exchange,提问作者Soviut
相关产品推荐
相关产品推荐

