Import Aliases for React Applications (Vite)

Posted by

Алиасы импортов для React приложений (Vite)

Алиасы импортов для React приложений (Vite)

Разработка React приложений с использованием Vite может значительно улучшить вашу производительность и удобство создания. Одним из способов улучшить работу с кодом является использование алиасов импортов.

Алиасы импортов позволяют упростить и улучшить читаемость кода, а также уменьшить количество ошибок при импорте компонентов, модулей и файлов. Таким образом, вы можете создать собственные пути импорта, которые будут ссылаться на определенные директории или файлы в вашем проекте.

Для использования алиасов импортов в React приложениях с Vite, вам следует создать файл vite.config.js в корне вашего проекта. В этом файле вы можете определить алиасы для импорта, указав соответствующие пути к файлам или директориям.

“`javascript
// vite.config.js
import { defineConfig } from ‘vite’;

export default defineConfig({
resolve: {
alias: {
‘@components’: ‘/src/components’,
‘@styles’: ‘/src/styles’,
// Другие алиасы
},
},
});
“`

В приведенном примере мы определяем два алиаса: @components и @styles. Теперь мы можем импортировать компоненты и стили с использованием этих алиасов:

“`javascript
import Header from ‘@components/Header’;
import styles from ‘@styles/main.css’;
“`

Также можно использовать алиасы импортов внутри файлов JavaScript или TypeScript, указав путь к файлу vite.config.js:

“`javascript
// В файле /src/components/Navbar.js
import Logo from ‘@/assets/logo.png’;
“`

Теперь при разработке React приложений с использованием Vite вы можете удобно импортировать компоненты, стили и другие ресурсы с помощью алиасов, что значительно улучшит ваш опыт разработки.

0 0 votes
Article Rating
37 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@ivan4486
9 months ago

Неудобно, если честно – новую папку создал и надо ее ручками в конфигах прописывать.. Я бы хотел чтобы работало как в первом варианте, но не писать src/ в начале. Нигде не нашел решения. Хотя в CRA можно было так сделать

@romanmed9035
9 months ago

пробую переделать с вебпака на вит, почти получилось. но вот ошибка Expected "from" but found "{" в конструкции import type { foo} from никак не решается. написано что в новых версиях это решено, но это уже было давно и сейчас ерсии еще новее. можно ли это как-то решить?

@DubinArtur
9 months ago

Михаил, закрепи, пожалуйста, пусть люди пользуются
Для vite есть плагин tsconfigPaths (vite-tsconfig-paths), который позволяет не писать второй раз алиасы в vite.config, vite сам будет их подтягивать из tsconfig

@thefact4529
9 months ago

спасибо большое

@krypton5204
9 months ago

Спасибоооооооооооооооооооооооооооооооо

@philian73
9 months ago

Мне не нравится то, что в проекте с использованием TypeScript, у нас отключается авто-лог ошибок при сохранении файлов. Там только сообщение о том, что сервак успешно запущен. Нужно прописывать команду tsc.

@Vitalii-dd9ni
9 months ago

Со стандартным create react app работал код
{

"compilerOptions": {

"baseUrl": "src"

},

"include": [

"src"

]

}
А с Vite почему-то не работает. Кто может подсказать, дайте совет, пожалуйста.

@Vitalii-dd9ni
9 months ago

Второй сценарий в настройке alias vite почему-то не срабатывает с папкой redux. Из-за этого пользуюсь первым сценарием.

@theobroma222
9 months ago

Была проблема "unable to resolve path alias"… Нашел решение : 1) установить eslint-import-resolver-typescript 2) добавить в eslint конфиг ` settings: {
'import/resolver': {
typescript: {},
alias: {
map: [
['@', './src'],
],
},
},`

@AlibekKulseitov
9 months ago

Как добавить то что справа gzipped? +

@proletarian
9 months ago

в webstorm это не работает, автоимпорт работает от ../src/components и т.д.

@andrzejsotnikov
9 months ago

вот сегодня это добавлю в свой проект=)

@tengokuvision
9 months ago

большое спасибо за объяснение, Михаил!

@STELLS541
9 months ago

В целом по настройке, почти так же, как на вебпак, что радует ☺️🙏🏻.

@fadilmamedov2844
9 months ago

Спасибо за видео! Как дополнительный вариант можно задать "baseUrl": "src" в tsconfig.json и использовать "vite-tsconfig-paths" плагин

@Exigoll92
9 months ago

Я когда искал решение для алиасов в вите использовал следующий сценарий для файла vite.config.ts: plugins: [react(), tsconfigPaths()]

@ibragimProtopopov
9 months ago

Еще какую-нибудь либу можешь посоветовать, для алиасов?

@romandeveloper7720
9 months ago

Storybook + Vite, пожалуууйста)

@boyywnkobe
9 months ago

Thanks for you videos

@user-sn4mn3ku9e
9 months ago

Видос ТОП!👍