## 事象 前提として、[[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`.