Нереално крутой канал! Тьма полезной инфы, объясняешь как корешу, за это отдельное спасибо, уютно )) жду вторую часть видео, было б хорошо, если б там ещё и деплой на обычный сервер был;)
Для тех, кому было, как мне, лень доставать мак из рюкзака (десять раз уже пожалел в самом деле), открою очевидное: "start": " somewhat --watch & npm run serve" не сработает не вендах, потому что одиночный амперсанд для винды не повод не дожидаться окончания вашего вотча ) Для таких ленивцев есть полезный (не один такой он) пакетик. Делай раз в депенденсиз: "npm-run-all": "^4.1.5" Делай два в скриптах: "start": "npm-run-all --parallel json serve", "json": "json-server --watch db.json", "serve": "vue-cli-service serve", Хотя... можно было поставить server --watch в конец?.. Хм...
Очень интересная подача материала! Смотрится легко, понятно, с удовольствием. Но у меня есть пара вопросов: 1) Почему вы поместили метод SEND_MSG_TO_CHAT во Vuex store? Ведь этот метод никак не меняет state (не вызывает мутаций). 2) Кроме того, первым параметром этого метода вы указываете {commit}, хотя в теле метода этот commit никак не используете - ESLint такое не пропустит. В таких крайних ситуациях, не лучше-ли использовать в качестве первого параметра нижнее подчёркивание (символ "_"? Поправьте, если я не прав.
Алексей Олегович 1) да можно из компонента вызвать этот запрос. Разницы никакой, просто удобнее когда все запросы к апи в одном месте. Но вы правы. 2) не знаю прокатит ли нижнее подчеркивание, но я обычно просто пустые {} ставлю, либо другой конструкцией через {context}. Тут я просто забыл:)
На 44-1 минуте мы вызываем экшен, чтобы подсунуть пустую строку, потому что это его, экшена(мутэйшена) особенность, для другого сделанная... Так почему мы сразу в сторе не стелали пустую строку? currentUserChat: "" И почему вообще он в хедер выводит эти скобки вместо toString(%тот самый пустой объект%) ? Ну, что-то вроде [object Object] хотя бы?
Fessan если надо взять данные из стейта в компонент - это mapState. Если надо условно сложить данные А и Б из стейта и потом получить в компонент - пишем геттер складывающий их и получаем в компоненте через mapGetters
Спасибо за контент! Правильно ли я понимаю, что если мы перейдем в чат пользователя, а затем обновим страницу, то сообщения уже не загрузятся? Так как пропсы передаете через роутер?
Да все верно. Чтобы иметь возможность инициализировать приложение например на странице чата, то нужно запрашивать список чатов из API на странице чата. Потом фильтровать их основываясь на id чата в route.query и отфильтрованные данные распихивать в сообщения
А можно делать по человечески, инициализировать работу с апи в app.vue, а не в компонентах, потому что компоненты только для отрисовки контента. Также страницу пользователя делать через динамический роутинг можно. То, что пишет автор, далеко до продакшена. Но сама суть того, что он показывает новичкам азы, это хорошо. Но чтобы хорошо писать, изучайте документацию и смотрите хорошо написанные проекты
Не работает( Ругается на vuex, даже если скачать с гита авторскую версию. В результате не подтягиваются данные из store. Обновление версии все только портит.
Array.filter должен ВЕРНУТЬ булево значение, результатом ее будет искомый объект (первый, для которого коллбек вернул true) зачем вы учите неокрепшие умы использовать программную навигацию vue-router, когда есть замечательный компонент router-link. vuejs - это html-first, соответственно все, что может быть выражено декларативно (в html), должно быть выражено именно так
Все нормально ,только не погружаются из джсон файла данные.путь пробовал и 3000 и 8080 и со слешами, никак, подгружает либ страницу (выводит в мутации страницу, либо ничего)
я щас скачал проект чтоб посмотреть его и выходит такая ишибка(Failed to load resource: net::ERR_CONNECTION_REFUSED createError.js?2d83:16 Uncaught (in promise) Error: Network Error at createError (createError.js?2d83:16) at XMLHttpRequest.handleError (xhr.js?b50d:83)) и никакие кнопки не работают как исправить?
Нереално крутой канал! Тьма полезной инфы, объясняешь как корешу, за это отдельное спасибо, уютно )) жду вторую часть видео, было б хорошо, если б там ещё и деплой на обычный сервер был;)
А чего там деплоить-то? npm run build, и папку dist на обычный сервер.
Ну это супер просто)
Спасибо большое за твой труд. Получилось:)) Жду следующей части;)
Ибрагим Алимжанов отлично!
Спасибо за урок, ждём новых проектов на vue
Здравствуйте. Отличный контент. Спасибо вам! Жду новых видео.
в 1:05:04 можно тогда спокойно передавать this.SET_MESSAGE_TO_CHAT(user)
а в сторе принимать его же и делать axios.put(chatstUrl + user.id, user)
Для тех, кому было, как мне, лень доставать мак из рюкзака (десять раз уже пожалел в самом деле), открою очевидное:
"start": " somewhat --watch & npm run serve" не сработает не вендах, потому что одиночный амперсанд для винды не повод не дожидаться окончания вашего вотча )
Для таких ленивцев есть полезный (не один такой он) пакетик.
Делай раз в депенденсиз:
"npm-run-all": "^4.1.5"
Делай два в скриптах:
"start": "npm-run-all --parallel json serve",
"json": "json-server --watch db.json",
"serve": "vue-cli-service serve",
Хотя... можно было поставить server --watch в конец?.. Хм...
Есть еще такая штука: www.npmjs.com/package/concurrently
зачем ставить пакет если моно использовать &&
AndreyGovorukhin не везде && прокатит. Не на всех ОС
@@gofrontend2220 на винде норм
ДЯДЬКА ты круто объясняешь!!!
! ВАЖНО - Читайте описание к видео ! 🔥🔥🔥👆👆👆
Прошу подсказать. Какая тут версия Vue используется - 2 или уже 3?
Спасибо за такой труд, сможете сказать когда 2 часть очень жду
а какая разница, передавать params:id в роут или передавать query? для чего нужно одно, а для чего другое?
Очень интересная подача материала! Смотрится легко, понятно, с удовольствием.
Но у меня есть пара вопросов:
1) Почему вы поместили метод SEND_MSG_TO_CHAT во Vuex store? Ведь этот метод никак не меняет state (не вызывает мутаций).
2) Кроме того, первым параметром этого метода вы указываете {commit}, хотя в теле метода этот commit никак не используете - ESLint такое не пропустит. В таких крайних ситуациях, не лучше-ли использовать в качестве первого параметра нижнее подчёркивание (символ "_"?
Поправьте, если я не прав.
Алексей Олегович 1) да можно из компонента вызвать этот запрос. Разницы никакой, просто удобнее когда все запросы к апи в одном месте. Но вы правы.
2) не знаю прокатит ли нижнее подчеркивание, но я обычно просто пустые {} ставлю, либо другой конструкцией через {context}. Тут я просто забыл:)
На 44-1 минуте мы вызываем экшен, чтобы подсунуть пустую строку, потому что это его, экшена(мутэйшена) особенность, для другого сделанная... Так почему мы сразу в сторе не стелали пустую строку? currentUserChat: ""
И почему вообще он в хедер выводит эти скобки вместо toString(%тот самый пустой объект%) ? Ну, что-то вроде [object Object] хотя бы?
Все по полчкам, спасибо
согласен круто)
дружище, продолжай, лайк
дружище, держи лайк!
Буду очень ждать авторизацию, с записью в db.json!
Спасибо!
Вопрос. А почему все таки mapState используете? а не mapGetters
Fessan если надо взять данные из стейта в компонент - это mapState. Если надо условно сложить данные А и Б из стейта и потом получить в компонент - пишем геттер складывающий их и получаем в компоненте через mapGetters
Спасибо за контент!
Правильно ли я понимаю, что если мы перейдем в чат пользователя, а затем обновим страницу, то сообщения уже не загрузятся?
Так как пропсы передаете через роутер?
Да все верно. Чтобы иметь возможность инициализировать приложение например на странице чата, то нужно запрашивать список чатов из API на странице чата. Потом фильтровать их основываясь на id чата в route.query и отфильтрованные данные распихивать в сообщения
А можно делать по человечески, инициализировать работу с апи в app.vue, а не в компонентах, потому что компоненты только для отрисовки контента. Также страницу пользователя делать через динамический роутинг можно. То, что пишет автор, далеко до продакшена. Но сама суть того, что он показывает новичкам азы, это хорошо. Но чтобы хорошо писать, изучайте документацию и смотрите хорошо написанные проекты
Привет! Уже не первый раз помогли твои видео. Не планируешь развиваться дальше? Патреон? чатик в телеге ?
Fessan я с трудом на просто видео время нахожу:) чатик в телеге - это мой личный тг:)
Всё очень круто, но очень бы хотелось подобное видео, но fullstack js (Mongo, Express, Vue или Nuxt и Node.js) это была бы бомба
Семён Прохоров этого точно не будет, так как я не фулстак:)
Спасибо за материал! Когда следующий урок?
Не работает( Ругается на vuex, даже если скачать с гита авторскую версию. В результате не подтягиваются данные из store. Обновление версии все только портит.
Это на vue 2?
Array.filter должен ВЕРНУТЬ булево значение, результатом ее будет искомый объект (первый, для которого коллбек вернул true)
зачем вы учите неокрепшие умы использовать программную навигацию vue-router, когда есть замечательный компонент router-link. vuejs - это html-first, соответственно все, что может быть выражено декларативно (в html), должно быть выражено именно так
спасибо, урок огонь! стоит ли ждать продолжение?
Зачем каждый файл префиксовать приставкой v-?
last-message можно чуть короче: {{user_data.chat.slice(-1)[0].text}}
Подскажите где иконки такие брать в папки и файлы ?
Норм, подписался
Классный канал, но не для новичков в js
у меня при введении сообщения удаляется пользователь из базы данных.
Как исправить, подскажете ?
заранее спасибо )
классный контент
Suleyman Dzhemilov затираете пользователя. Смотрите что вы шлете в базу при вводе сообщений
Все нормально ,только не погружаются из джсон файла данные.путь пробовал и 3000 и 8080 и со слешами, никак, подгружает либ страницу (выводит в мутации страницу, либо ничего)
Да потому что тут бэка нет, который на 3000 порту по запросу отдает инфу. Например на node написаную без него весь фронт бесполезен.
Результат не запускается, проект не понятно как начинать(
Баг: если из списка контактов зайти на контакт, потом перейти в чаты и нащать кнопку Back, то ошибка "contact_data is undefined"
А как перенести на телефон?
Сколько стоит час вашей работы?
YuG_FM я не работаю фриланс
@@gofrontend2220 а какова среднерыночная стоимость часа спеца вашего уровня?
YuG_FM нет ее. Везде все по-разному. Деньги не за знания платят, а за обязанности рабочие. Ну в среднем думаю 1500-2000 час
Было бы побольше видео :(
а как сделать такой же чат для телеграмма?
что это значит?)
Не запускается, куча ошибок, а было бы весьма интересно сделать такое приложение, увы :(
так перепиши код)
куча ошибок.. почему весь процесс не показать?
чел, а на чем бэк, ты бы не мог отдать инфу про бэк, а то без него это бесполезни ))
Дима Рапид тут нет бека
@@gofrontend2220 тогда куда стучится axios на порт 3000?
Дима Рапид в локальный фронтовый файл с json
@@gofrontend2220 тк если я его запускаю он мне говорит что 3000 не отвечает(((
@@gofrontend2220 Failed to load resource: net::ERR_CONNECTION_REFUSED :3000/contact
я щас скачал проект чтоб посмотреть его и выходит такая ишибка(Failed to load resource: net::ERR_CONNECTION_REFUSED
createError.js?2d83:16 Uncaught (in promise) Error: Network Error
at createError (createError.js?2d83:16)
at XMLHttpRequest.handleError (xhr.js?b50d:83))
и никакие кнопки не работают
как исправить?
Бехруз Абдувалиев npm install делали?
@@gofrontend2220 да конечно
у меня такая же ошибка
json-server запускали ? npx json-server --watch db.json