코드는 동작합니다만, TypeScript가 커스텀 컴포넌트를 인식하지 못하는 이유는 무엇입니까?그리고 왜 이 기능이.js
파일 이름 확장자를 지정하시겠습니까?
Could not find a declaration file for module ..
라라벨 9, Vue 3, Vite 3, 이너시아를 사용하고 있습니다.JS
몇 시간 동안 찾아봤지만 해결책을 찾지 못했어요.
컴포넌트 파일
<template> </template> <script>
export default {}; </script>
tconfig.json
{
"compilerOptions": {
"target": "esnext",
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": [
"esnext",
"dom"
],
"types": [
"vite/client"
],
"baseUrl": ".",
"paths": {
"@/*": ["resources/js/*"]
}
},
"include": ["resources/**/*"] }
질문에 대한 답변
Options API 또는 setup()을 사용하는 경우 다음 명령을 사용하여 컴포넌트를 정의합니다.defineComponent
방법:
<template> </template>
<script>
import { defineComponent } from 'vue'
export default defineComponent({
// type inference enabled
setup(), // if using setup()
}) </script>
그리고 사용하는 경우<script setup>
, 다음과 같이 정의합니다.
<template> </template>
<script setup lang="ts">
</script>
https://vuejs.org/guide/typescript/overview.html https://vuejs.org/api/general.html#definecomponent