## 事象
前提として、[[Neovim]]と[[Volar]]を利用。
`components/Hello.vue`がある。
```html
<script setup lang="ts">
defineProps<{
message: string;
}>();
</script>
<template>
<h1>Hello! {{ message }}</h1>
</template>
```
[[Auto-importsを無効 (Nuxt3)|Auto-importsを無効]]にする。
`nuxt.config.ts`
```ts
export default defineNuxtConfig({
imports: {
autoImport: false
}
})
```
リビルドし、[[Neovim]]を再起動したあと、以下のコード `Hello` からジャンプする。
```html
<template>
<Hello message="hogehoge" />
</template>
```
`components.d.ts`の定義にジャンプできてしまう。
```ts
interface _GlobalComponents {
'Hello': typeof import("../components/Hello.vue")['default']
```
## 原因
`imports.autoImport: false`で無効化できるのは`composables`と`utils`の[[Auto-imports (Nuxt)|Auto-imports]]だけだから。
> If you want to disable auto-importing composables and utilities, you can set imports.autoImport to false in the nuxt.config file.
> *[Auto-imports · Nuxt > Disabling Auto-imports](https://nuxt.com/docs/guide/concepts/auto-imports#disabling-auto-imports) *
`components`の場合は別。
## 解決方法
`components.dir: []`を指定する。
```ts
export default defineNuxtConfig({
components: {
dirs: []
}
})
```
> To disable auto-importing components from your own ~/components directory, you can set components.dirs to an empty array (though note that this will not affect components added by modules).
> *[Auto\-imports · Nuxt > Auto-imported Components](https://nuxt.com/docs/guide/concepts/auto-imports#auto-imported-components)*
## 参考
- [Auto\-imports · Nuxt](https://nuxt.com/docs/guide/concepts/auto-imports#disabling-auto-imports)
> This will disable auto-imports completely but it's still possible to use explicit imports from `#imports`.