[ВАЖНО - Читай описание] Урок 8/8. Refactoring приложения Vue. Best-practise.

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 พ.ย. 2024

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

  • @Timur-r5n
    @Timur-r5n 5 หลายเดือนก่อน

    Спасибо за курс! несовместимостей с vue3 практически не было

    • @АлексейНикитин-ф8г
      @АлексейНикитин-ф8г 5 หลายเดือนก่อน

      Здравствуйте! А в чем были расхождения? Как Вы их решили? То есть эти уроки и сейчас актуальны несмотря на предупреждение? Спасибо

  • @stt1632
    @stt1632 4 ปีที่แล้ว +24

    Замечательная сборка. Вы очень хорошо объясняете. Продолжайте в том же духе ))

  • @denisrotaru1860
    @denisrotaru1860 4 ปีที่แล้ว +4

    Спасибо за урок.
    - попробуйте @ - дает возможность двигаться от корня

    • @AlexanderGrinvald
      @AlexanderGrinvald 4 ปีที่แล้ว

      спасибо, помогло

    • @GeliosGarik
      @GeliosGarik 4 ปีที่แล้ว

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

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

    Всё очень понятно. Каждый шаг объяснён. Спасибо автору!

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

    Спасибо за полезный курс! В рунете критически мало толковых записей по vue, так что продолжайте обязательно.

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

    Большое спасибо за ваш курс, он крут. Думаю, со мной согласятся, ждем продолжения, еще курсов по VUE!)

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

    Благодарю за данную серию уроков, много чего подчерпнул из них.

  • @Viktorres1
    @Viktorres1 2 ปีที่แล้ว

    Спасибо! По рефакторингу очень доходчиво и про важное.

  • @raccoonkiller5953
    @raccoonkiller5953 4 ปีที่แล้ว

    Пожалуйста, не останавливайся) оч круто, спасибо. Нужно просмотреть все)

  • @bastarann3174
    @bastarann3174 4 ปีที่แล้ว

    Отличный курс, на одном дыхании, за утро воскресенья. Завтра все перепишу у себя :) спасибо, пишите еще по vue

    • @gofrontend2220
      @gofrontend2220  4 ปีที่แล้ว

      Bas Tarann рад слышать:)

  • @grey_psn
    @grey_psn 3 ปีที่แล้ว

    Нормального контента днем с огнем не найти на просторах рунета. Огромная благодарность за труд. Я новичок и мне круто зашло, думаю Ниндзя не одобрит, да и пёс с ним))) Лайк, подписка.

  • @hollow.one.w
    @hollow.one.w 3 ปีที่แล้ว

    Все очень круто, было бы также интересно увидеть работу с cookies на vue!

  • @Victor-fp2wb
    @Victor-fp2wb 4 ปีที่แล้ว

    Антон. спасибо за труды, очень полезные видео)

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

    на 14 минуте забыл сказать , что в файле router.js нужно также прописать новые пути файлов , которые мы поместили в отдельные папки cart и catalog . То есть написать надо вот так : import vCatalog from '../components/catalog/v-catalog' и import vCart from '../components/cart/v-cart'

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

      А так все круто! Спасибо большое за уроки

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

      ALEXANDERXP спасибо за замечание:)

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

      в ide наверно установлен рефакторинг путей, я тоже переписывал в router.js

    • @alexanderxp2804
      @alexanderxp2804 4 ปีที่แล้ว

      @@GeliosGarik Да, скорее всего. Но для остальных зрителей канала, это знать полезно

  • @bekasandrii
    @bekasandrii 2 ปีที่แล้ว

    Thanks for a good lesson and good explanation )))

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

    Спасибо большое за уроки! одно из лучших объяснений про vuex.
    у меня вопрос: а если этот проект сбилдить и залить на сервер, а база данных у нас, к примеру эти же товары созданы в таблице mysql, как к ней подключиться и слать запросы?

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

      Andrey Ageev спасибо:) запросы слать так же через rest-api, только вот эти запросы надо будет как то дополнительно обрабатывать бекендом. Я в бекенде ноль:)

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

    Отличная история!

  • @Murasaki-sa
    @Murasaki-sa 4 ปีที่แล้ว +3

    О структуре VUEX объяснено неверно, и при такой структуре вы потом в каждом модуле Action и прочего утоните, программисты замучаются что-то в них искать. Есть нормальная рабочая структура которую дали сами VUE: vuex.vuejs.org/ru/guide/structure.html - этого достаточно, чтобы не делать проект из бесполезных вложений. Модули - это наборы методов, а не куски от этих наборов. В модуле сразу должны лежать state и прочее, для нормального понимания что делает модуль. А то хранилище у вас в главном файле, а всё остальное размотано по папкам. Те кто учатся НЕ ДЕЛАЙТЕ ТАК!

    • @zond_amond
      @zond_amond 4 ปีที่แล้ว

      Очень правильный совет, всем на заметку.

    • @isopp7744
      @isopp7744 4 ปีที่แล้ว

      Привет, ролик записывался 9 месяцев назад, а декомпозиция на "module state" добавлена только пол года назад, если я не ошибаюсь. Но в любом случае модули выглядят организованнее - это правда.

  • @olegovich8161
    @olegovich8161 4 ปีที่แล้ว

    Можно, пожалуйста, добавить в описание к видео ваш чеклист, по которому вы проходитесь? Спасибо огромное за ваши видео!

  • @MaxAtrRax
    @MaxAtrRax 2 ปีที่แล้ว

    В магазине есть косяк, если добавить товар в корзину например T-shirt 1 5штук и потом удалить его из корзины, то потом если снова нажать купить один раз удалённый товар T-shirt 1, то в корзину падает снова 5 штук удалённых, а не одна единица товара

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

    во втором пункте ошибка, принято использовать PascalCase.

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

    NaN в корзине когда несколько раз нажимаешь "add Cart"

    • @anastasiyachuprey5551
      @anastasiyachuprey5551 3 ปีที่แล้ว

      ВАЖНО! На примерно 10 минуте в корзину упадет товар с NAN вместо количества (спасибо подписчику, что нашел баг). Чтобы этого не было, надо конструкцию this.$set(this.cart_item_data, 'quantity', 1) перенести из хука mounted компонента v-cart-item в хук mounted компонента v-catalog-item. Только замените cart_item_data на product_data.

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

    ДОбрый день, спасибо за урок. Но я наткнулся на непонятную для меня вешь. Если удалить товар из корзины в любом его количестве. а затем снова нажать купить из каталога . то в корзине повявится товар в том количевсве которм его удаляли.

  • @oleksiizelenko9357
    @oleksiizelenko9357 4 ปีที่แล้ว

    Спасибо! Интересно и полезно!

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

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

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

    ! ВАЖНО - Читайте описание к видео ! 🔥🔥🔥👆👆👆

  • @igorstadnik707
    @igorstadnik707 4 ปีที่แล้ว

    спасибо большое. Мега полезно

  • @AlexandrSpirit
    @AlexandrSpirit 3 ปีที่แล้ว

    Очень не хватает разбора использования на практике vuex moduls. Судя по документации, удобная вещь. Как я понял, вариант разделить разделить state на модули что бы всё не хранить в одном файле

    • @overveg
      @overveg 3 ปีที่แล้ว

      да, такое видео было бы очень полезно

  • @sateevtima7914
    @sateevtima7914 4 ปีที่แล้ว

    заслуженный лайк

  • @Shakhrom-b7d
    @Shakhrom-b7d 4 ปีที่แล้ว +1

    11:10 получаем NAN если с каталога добавляем товар больше 1 шт, если по одному каждого товара, то всё в порядке.

    • @gofrontend2220
      @gofrontend2220  4 ปีที่แล้ว

      Значит какая-то бага в мутации добавления товара. Вечером пофиксю и обновлю репозиторий

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

      Пофиксил и залил в репозиторий. Нужно из компонента v-cart-item перенести всю конструкцию из хука mounted и поместить в хук maunted только в компоненте v-catalog-item. Только не забыть сменить cart_item_data на product_data. Проблема в том, что мы добавляли свойство quantity к объекту товара когда клали его в корзину. И при быстром клике по Add to cart, vue не успевал добавлял это свойство к объекту и отдавал NAN на количестве. Я постараюсь сегодня записать баг-фикс-видео и выложить, чтоб не было вопросов :) Огромное спасибо, что нашли этот баг!

    • @isopp7744
      @isopp7744 4 ปีที่แล้ว

      @@gofrontend2220 не работает, если при пустой корзине нажать несколько раз Add to cart, всё равно будет NaN. Но если к уже добавленному товару нажимать Add to cart, то тогда добавляет корректно.

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

      @@gofrontend2220 При каждом переходе в catalog(кроме первичной загрузки) у объектов пропадает count, т.е. mounted в v-catalog-item отрабатывает только один раз, и далее при повторном вызове SET_PRODUCTS_TO_STATE у объектов пропадает count.
      Решил так: удалил mounted из v-catalog-item и обогатил данные на входе.
      GET_PRODUCTS_FROM_API({commit}) {
      return axios('localhost:3000/products', {
      method: 'GET'
      })
      .then((products) => {
      // добавляем количество к объекту
      products.data.map((item) => {
      item.count = 1;
      });
      commit('SET_PRODUCTS_TO_STATE', products.data)
      return products;
      })
      .catch((error) => {
      console.log(error);
      return error;
      })
      }

    • @Alex-cy1is
      @Alex-cy1is 3 ปีที่แล้ว +1

      @@isopp7744 дружище, спасибо, всё перепробовал, но только твой способ сработал

  • @fle4er4887
    @fle4er4887 4 ปีที่แล้ว

    Друзья, я правильно понял, что на эnтом стеке node+vue, при переходе по ссылками страницы непезагружаются? но урл добавляется. Как поисковики такое индексируют? Есть проблемы? Тонкости?

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

      Для индексации поисковиком нужно использовать SSR(Server side rendering). Есть замечательный фреймворк Nuxt.js для SSR на vue. Советую посмотреть видео про Nuxt.js Владилена Минена

    • @fle4er4887
      @fle4er4887 4 ปีที่แล้ว

      @@redhook777 спасибо!

  • @АннаЛупанова-ы2ь
    @АннаЛупанова-ы2ь 4 ปีที่แล้ว

    Здравствуйте. Очень нужна ваша помощь
    Как сделать ,чтобы после обновления страницы данные из корзины не стирались ?

    • @gofrontend2220
      @gofrontend2220  4 ปีที่แล้ว

      Сделать реальное апи и хранить все на сервере:) это не ко мне

  • @виртуоз_ру
    @виртуоз_ру 4 ปีที่แล้ว

    👍

  • @GeliosGarik
    @GeliosGarik 4 ปีที่แล้ว

    Cтолкнулся с проблемой названия компонента. в части template я могу использовать или , а другой компонент только .
    Если напишу в kebep-case то будет ругаться линтер: _The "vFirstScreen" component has been registered but not used_ - почему один могу как угодно писать, а другой только в camel-case?
    Импортировал две штуки: _import vCatalog from '@/components/v-catalog'
    _ и _import vFirstScreen from '@/components/v-firstscreen'_
    Объявил оба: _components: {
    vCatalog, vFirstScreen }_

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

      Garik Gelios не vFirstScreen, а vFirstscreen. Большие буквы там, где идет прерывание сплошного текста

    • @РоманДорохин-я8ъ
      @РоманДорохин-я8ъ 4 ปีที่แล้ว

      @@gofrontend2220 :3000/products:1 Failed to load resource: net::ERR_CONNECTION_REFUSED
      сначала все запустилось и работало а сейчас вот так выдает все пробовал все равно так же

    • @РоманДорохин-я8ъ
      @РоманДорохин-я8ъ 4 ปีที่แล้ว

      пробовал и через оперу и через едж и хром
      одно и тоже

    • @gofrontend2220
      @gofrontend2220  4 ปีที่แล้ว

      Роман Дорохин json-server -watch db.json надо каждый раз писать в консоли

    • @РоманДорохин-я8ъ
      @РоманДорохин-я8ъ 4 ปีที่แล้ว

      Go Frontend я и так пишу

  • @ВасяПупкин-н9д9с
    @ВасяПупкин-н9д9с 4 ปีที่แล้ว +1

    лично для меня главная проблема VUE(и остальных), что ты просто запутываешься нахрен во всех этих методах, свойствах, гетерах, сетарах, мутациях хреняциях, привязках, прокидываньях пропсов и т.д., блин бэкенд фреймворки куда более понятны, логичны и просты для восприятия

    • @gofrontend2220
      @gofrontend2220  4 ปีที่แล้ว

      Prеаchеr по началу. Потом все понятно и просто становится