Пишем приложение на Vue 3 с Vue Router и Pinia с нуля! Часть 1. Фронтенд-разработка для начинающих
В этой статье мы рассмотрим, как создать приложение на Vue 3 с использованием Vue Router и Pinia. Мы начнем с самого начала и шаг за шагом разберем все необходимые шаги для создания фронтенд-приложения для начинающих.
Шаг 1: Установка Vue CLI
Первым шагом будет установка Vue CLI, инструмента командной строки, который поможет нам создать проект Vue. Для установки Vue CLI вам потребуется установленный Node.js и npm. Вы можете установить Vue CLI с помощью следующей команды в командной строке:
npm install -g @vue/cli
Шаг 2: Создание нового проекта Vue
После успешной установки Vue CLI вы можете создать новый проект Vue с помощью следующей команды:
vue create my-vue-app
Шаг 3: Установка Vue Router и Pinia
После создания проекта необходимо установить Vue Router и Pinia. Вы можете установить их с помощью следующих команд:
npm install vue-router@4 pinia
Шаг 4: Настройка маршрутизации в приложении
Теперь, когда у нас установлены Vue Router и Pinia, мы можем настроить маршрутизацию в нашем приложении. Создайте новый файл router.js и добавьте следующий код:
import { createRouter, createWebHistory } from 'vue-router'
import Home from './views/Home.vue'
import About from './views/About.vue'
import NotFound from './views/NotFound.vue'
const routes = [
{
path: '/',
component: Home
},
{
path: '/about',
component: About
},
{
path: '/:pathMatch(.*)*',
component: NotFound
}
]
const router = createRouter({
history: createWebHistory(),
routes
})
export default router
Шаг 5: Создание хранилища с помощью Pinia
Для создания хранилища с помощью Pinia, создайте новый файл store.js и добавьте следующий код:
import { defineStore } from 'pinia'
export const useStore = defineStore('store', {
state: () => ({
count: 0
}),
actions: {
increment() {
this.count++
},
decrement() {
this.count--
}
}
})
Шаг 6: Подключение маршрутизации и хранилища к приложению
Наконец, подключите маршрутизацию и хранилище к вашему приложению. Откройте файл main.js и добавьте следующий код:
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import { createPinia } from 'pinia'
const app = createApp(App)
app.use(router)
app.use(createPinia())
app.mount('#app')
Теперь вы успешно создали приложение на Vue 3 с использованием Vue Router и Pinia! В следующей части мы рассмотрим более продвинутые темы, такие как работа с API и аутентификация пользователей.
спасиб
Можно было бы поподробнее остановиться на некоторых моментах). А как делать валидацию с pinia не подскажете, что-то ничего толком не нашел, делать функцию в компоненте и там к примеру блокировать/разблокировать кнопку если поля заполнены
ну вс , подписчики поперли)) когда новые видео ?
Здравствуйте, Анастасия)
Раз вы упомянули о процессе коммерческой разработки, в разделе с obtion API для Pinia, то почему не был использован .env файл, чтобы познакомить зрителя с этим подходом? Вроде не так уж и долго, а опыт тоже полезный)
Вопрос, у меня в запросе подставляется в BASE_URL localhost:5173/ и дальше сам url, из за этого я конечно получаю 404 ответ, я не понимаю почему подставляется в запрос пересмотрел все трижды, удалил сделал ещё раз, кто сталкивался? Подскажете
круто!
Благодарю, очень полезный и понятный урок👍
Благодарю! Это видео для меня очень полезно.
да, мне бы тоже хотелось побольше проектной логики, а то почему то процентов 60 в видео заняла верстка)) Но все равно спасибо за твои уроки) ты супер)
Как на домашней странице в представлении со списком коктейлей должна поменяться картинка слева? На оранжевый вариант🙄
почему она не на кухне?
название по-моему не очень соответствует содержанию.
"Пишем приложение на Vue 3 с Vue Router и Pinia с нуля!… для тех у кого есть yarn" 🙂
Я к тому, что есть хороший такой процент dev envs, где система не ведает о yarn ни сном ни духом. А Вы на него опираетесь ну прям с самого начала как на что-то само собой разумеющееся.
2:28 Как к примеру на винде, линуксе без ярна установить sass, axios, другие пакеты, которые Вы так лихо yarn add'ете?
Я бы сделал небольшое лирическое отступление, объясняющее как установить ярн или обойтись без него.
миллион алых роз автору
Большое спасибо за урок =)
У меня почему-то возникает ошибка, когда пытаюсь добавить элементы из формы (input, select и т.д. )
Хотелось бы в дальнейшем увидеть уроки с более сложным проектом. С использованием vuex/pinia с авторизацией по ролям, например, админ/юзер. Может быть какую-нибудь самописную админку, без сложного дизайна, с использованием UI библиотеки.
Отличные видео! Только начал смотреть.
Хотел бы уточнить, почему views для роутера хранятся в папке pages, а не views? Вроде принято для vue в папке views хранить? А в Nuxt уже в папке pages?
И всё-таки как правильно?)
Настя давай Nuxt 3 уже
Посоветуйте пожалуйста книги или хорошие курсы по vue. а то очень мало материала нашел.
Друзя. Не ужели вы думаете что программирование будет актуально в ближайщие 3-4 лет?
Нет, конечно нет. Откройте глаза. ИИ пишет код не хуже чем мидл. Осталось пожключить этот ИИ к проекту и все!