В VS Code с Vetur (расширением для работы с Vue) «Перейти к определению» не будет работать при импорте компонентов, если в конце нет расширения .vue.
.vue
Мне было интересно, есть ли правило eslint, которое заставит пользователя всегда предоставлять расширение при использовании оператора import в .vue файлах?
import
Примеры:
✔️ Это работает:
import HelloWorld from '@/components/HelloWorld.vue'
Если щелкнуть правой кнопкой мыши на HelloWorld и нажать Go to definition в VS Code, вы попадете в файл HelloWorld.vue.
HelloWorld
Go to definition
❌ Это не так:
import HelloWorld from '@/components/HelloWorld'
Если вы нажмете Go to definition на HelloWorld (крайний левый угол), VS Code просто переместит курсор на HelloWorld, который вы только что щелкнули правой кнопкой мыши. Намеренное поведение заключается в том, что мы переходим к файлу HelloWorld.vue.
HelloWorld.vue
Вам необходимо настроить eslint-plugin-import, чтобы установить форсировку для файлов vue, просто добавьте это правило в конфигурацию eslint
eslint-plugin-import
vue
"import/extensions": ["error", "ignorePackages", { "vue": "always" }],