Чиним глобальные импорты в Webstorm
При разработке блога я столкнулся с проблемой, когда автоимпорты в Nuxt работали не совсем
так как планировалось. Если кратко, то весь редактор был в ошибках 🫡
Внизу будет объяснение как я устранил данную проблему.
Использование typescript из проекта
Первое что я сделал - настроил Webstorm, чтобы он использовал Typescript который
находится в проекте, а не тот что поставляется вместе с WebStorm:
Отключение no-undef в ESLint
Подсвечивал все ошибки не WebStorm, а ESLint. Именно поэтому я сразу же загуглил есть ли проблемы
у ESLint в связке с Nuxt 3. Вот что я нашел:
Если говорить кратко, то в документации typescript-eslint говорится о том, что ESLint может не подхватить глобальные типы и подсвечивать
все переменные и функции, которые не были объявлены в текущем файле. Фиксится это простым отключением файла:
.eslintrc.cjs
module.exports = {
// ... the rest of your config ...
overrides: [
{
files: ['*.ts', '*.mts', '*.cts', '*.tsx', '*.vue'],
rules: {
'no-undef': 'off',
},
},
],
};
Дополнительно: jsconfig.json
Хоть
jsconfig.json
и не является обязательным условием для фикса вышеупомянутой ошибки, я все же добавил
его для того чтобы в других редакторах также не было проблем:jsconfig.json
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["./*"],
}
},
"exclude": [
"node_modules",
".output",
".nuxt",
"dist"
]
}