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

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ก.พ. 2023
  • Разбираемся с настройкой алиасов импорта для React-приложений при использовании сборщика Vite.
    Мои курсы по вебу с купонами:
    ✅ mishanep.com/
    📢 Поддержка канала:
    / mishanep
    www.tinkoff.ru/rm/nepomnyasch...
    paypal.me/mishanep
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 57

  • @tengokuvision
    @tengokuvision ปีที่แล้ว

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

  • @Sergey_Klimov
    @Sergey_Klimov 2 หลายเดือนก่อน

    Спасибо большое человеческое)
    Теперь мой код стал чуточку красивее)

  • @igorkozloff1631
    @igorkozloff1631 ปีที่แล้ว

    Спасибо! Вот этого не хватало, теперь можно переходить на вит))

  • @STELLS541
    @STELLS541 ปีที่แล้ว

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

  • @alexanderkomanov4151
    @alexanderkomanov4151 ปีที่แล้ว

    Очень классное объяснение.

  • @javascriptov
    @javascriptov ปีที่แล้ว

    Крутой видос🔥🔥

  • @user-sn4mn3ku9e
    @user-sn4mn3ku9e ปีที่แล้ว

    Видос ТОП!👍

  • @andrzejsotnikov
    @andrzejsotnikov ปีที่แล้ว

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

  • @victormog
    @victormog ปีที่แล้ว +1

    Однозначно спасибо за полезную инфу!
    Только результат интересный (для первого примера) - вместо нескольких двоеточий для более высоко расположенных файлов здоровенный полный путь для соседних... ;-)
    Во втором же случае без IDE (ctrl-click) сложно найти исходники импортов.

  • @Frieren-_-
    @Frieren-_- 5 หลายเดือนก่อน

    великолепно =), сделал алиасы под FSD, но не настроил eslint под это дело, надеюсь смогу сделать)

  • @boyywnkobe
    @boyywnkobe ปีที่แล้ว

    Thanks for you videos

  • @evgeny_mdr
    @evgeny_mdr ปีที่แล้ว +7

    Совет автору, для вызова подсказки в редакторе не нужно удалять какой то символ в стоке достаточно нажать Command + .

    • @VIKTOR-pw8eu
      @VIKTOR-pw8eu ปีที่แล้ว +2

      на виндовсе ctrl + space

  • @munzamt
    @munzamt ปีที่แล้ว

    Круто!
    Осталось только рассказать об алиасах для какого-нибудь jest

  • @thefact4529
    @thefact4529 9 หลายเดือนก่อน

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

  • @promoabys
    @promoabys ปีที่แล้ว

    Тоже используем.
    Только после использования сторибука получилось три конфига с алиасами в проекте )).
    Пробовали избавиться от этого дублирования, но были какие то сложности.
    Думаю в итоге можно, но надо ещё раз будет попробовать должно получиться

  • @Commondore
    @Commondore ปีที่แล้ว

    Спасибо, отличное видео, я бы ещё сортировку для импортов добавил

    • @CJIu3eHb
      @CJIu3eHb ปีที่แล้ว +1

      С этим есть некоторые проблемы. Мне нравится, когда зависимости подключаются вверху, а свои модули внизу (линту с airbnb конфигом это тоже нравится). Но если в качестве префикса ставить @ или без него, то алиасы тоже считаются линтером внешними зависимостями.
      Для себя придумал, что корень будет обозначаться "~/", а забинденные более глубокие папки будут с префиксом $.
      Или что-то другое имелось в виду?

  • @Exigoll92
    @Exigoll92 ปีที่แล้ว +2

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

    • @Exigoll92
      @Exigoll92 ปีที่แล้ว

      вернулся к твоему видео после того как столкнулся с багом автоимпорта. В общем при использовании способа который ты разбираешь в этом видео, баг автоимпорта отсутствует, то есть к примеру компонент импортируется именно так как было указано в tsconfig.json. При использовании плагина tsconfigPaths() путь указывается не всегда корректно. Однако...) есть такой плагин как trivago, который упорядочивает импорты при помощи prettier. К сожалению я не нашел способа прикрутить этот плагин к vite. Мб ты обладаешь инфой о том как это можно реализовать? Намного удобнее, когда импорты разделены логически, типо компоненты-разделитель-редакс-разделитель-плагины

  • @ArtemOdiiko
    @ArtemOdiiko ปีที่แล้ว

    Спасибо за полезное видео)) Подскажите пожалуйста, что это за браузер в самом начале видео?

    • @mishanep
      @mishanep  ปีที่แล้ว +1

      Microsoft Edge 😄

  • @user-uj4ju3lv4d
    @user-uj4ju3lv4d ปีที่แล้ว +1

    vite-aliases или vite-tsconfig-paths

  • @krypton5204
    @krypton5204 9 หลายเดือนก่อน

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

  • @olexandrsavelev4458
    @olexandrsavelev4458 ปีที่แล้ว

    Круто! В добавок к этому было бы полезно узнать как тоже самое проделывать с путями к файлам стилей, если я использую *.module.scss и в этом файле мне нужны переменные и миксины. Так же хотелось бы видео по исgользованию scss map. К примеру если у меня 2 темы в приложении могу ли я использовать в компонентах одну переменную для черного и белого текста.

    • @promoabys
      @promoabys ปีที่แล้ว

      В смысле алиасы на уровне scss использовать?
      Js переменная или css переменая имеется в виду для смены темы?

    • @olexandrsavelev4458
      @olexandrsavelev4458 ปีที่แล้ว

      @@promoabys Имел ввиду сss переменные. А по поводу алиасов - в папке src находится папка styles где лежат файлы с переменными и миксинами, эти файлы мы хоти юзать в модулях компонентов. Пути частенько получаются громоздкие. Короче говоря на сколько я понял алиасы для scss можно применять точно также. "@styles/*": ["styles/*"]

    • @promoabys
      @promoabys ปีที่แล้ว

      @@olexandrsavelev4458 да, к любой папке проекта можно создать алиас.

  • @Vitalii-dd9ni
    @Vitalii-dd9ni 11 หลายเดือนก่อน

    Со стандартным create react app работал код
    {
    "compilerOptions": {
    "baseUrl": "src"
    },
    "include": [
    "src"
    ]
    }
    А с Vite почему-то не работает. Кто может подсказать, дайте совет, пожалуйста.

  • @romanmed9035
    @romanmed9035 7 หลายเดือนก่อน

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

  • @Vitalii-dd9ni
    @Vitalii-dd9ni 11 หลายเดือนก่อน

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

  • @ibragimProtopopov
    @ibragimProtopopov ปีที่แล้ว

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

    • @STELLS541
      @STELLS541 ปีที่แล้ว +1

      Есть либа, оч простая в использовании, называется craco (так как-то название), там за 5 мин все можно настроить, есть примеры настройки в гугле, сам пару раз юзал на мелких проектах.

  • @TheKykp
    @TheKykp ปีที่แล้ว

    Привет Михаил, а Вам доводилось на React Native что-нибудь делать?

    • @mishanep
      @mishanep  ปีที่แล้ว

      Нет, пока не доводилось.

  • @Pavlusha1Kruglik
    @Pavlusha1Kruglik ปีที่แล้ว

    Может, кто-то знает, как сделать , чтобы автоимпорт автоматически прописывал type дом типов? import type {....

  • @DmitriyDev
    @DmitriyDev ปีที่แล้ว

    Что у вас за консоль?

  • @AlibekKulseitov
    @AlibekKulseitov ปีที่แล้ว

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

  • @philian73
    @philian73 11 หลายเดือนก่อน

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

  • @romandeveloper7720
    @romandeveloper7720 ปีที่แล้ว

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

  • @ivan4486
    @ivan4486 6 หลายเดือนก่อน

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

  • @proletarian
    @proletarian ปีที่แล้ว

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

  • @proletarian
    @proletarian ปีที่แล้ว

    а что за терминал такой внизу при запуске приложения?

    • @darkside2436
      @darkside2436 ปีที่แล้ว

      Ты наверное про devtools для react-query

    • @proletarian
      @proletarian ปีที่แล้ว

      @@darkside2436 возможно, спасибо

    • @mishanep
      @mishanep  ปีที่แล้ว +3

      Она и есть, react-query devtools.

  • @theobroma222
    @theobroma222 ปีที่แล้ว

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

    • @mishanep
      @mishanep  ปีที่แล้ว +1

      Спасибо, что поделились. Линтеры - это всегда отдельная история 😄

  • @TheKykp
    @TheKykp ปีที่แล้ว +1

    Михаил, мы все учимся у Вас работать, но что бы хорошо работать, нужно хорошо отдыхать, раз вы так хорошо объясняете как нужно работать, может сможете научить еще и отдыхать хорошо?=)

    • @mishanep
      @mishanep  ปีที่แล้ว +5

      Отличный топик)) Я бы с радостью поделился, но я засыпаю с мыслями о работе и просыпаюсь чаще всего с ними же))
      С тех пор, как работа стала почти полностью удаленной, главный секрет в попытках отпустить рабочие процессы - это выйти из дома)) В идеале когда есть какое-то хобби вне дома. Еще лучше если хобби как-то связано с физической активностью.