Quickstarters
CRUD Samples
Как создать CRUD-приложение с Nuxt.js?
32 мин
обзор в этом руководстве вы узнаете, как создать полностью функциональное crud (создание, чтение, обновление, удаление) приложение с использованием nuxt js мы будем использовать back4app в качестве нашего серверного решения для простого управления хранением и обработкой данных это руководство охватывает основные функции crud, подробно описывая, как настроить проект back4app, создать универсальную модель данных и интегрировать операции crud с вашим приложением nuxt js сначала вы настроите проект back4app с именем basic crud app nuxt который предлагает мощную среду хранения данных nosql вы определите свои структуры данных, создавая классы и поля вручную или с помощью интеллектуального ai агента back4app затем вы будете управлять своим сервером с помощью приложения back4app admin app — удобного интерфейса с функцией перетаскивания для эффективных операций с данными наконец, вы подключите ваше приложение nuxt js к back4app, используя вызовы rest api для выполнения безопасных операций crud к концу этого руководства вы создадите готовое к производству приложение nuxt js, способное обрабатывать основные операции crud вместе с безопасной аутентификацией пользователей и управлением данными основные моменты узнайте, как создать приложение crud на nuxt js с высокопроизводительным сервером поймите процесс проектирования масштабируемого сервера и его связи с вашим фронтендом на nuxt js изучите, как приложение admin app back4app упрощает операции с данными, такие как создание, чтение, обновление и удаление получите представление о методах развертывания, включая контейнеризацию docker для бесшовного развертывания в производстве предварительные требования перед тем как начать, убедитесь, что у вас есть учетная запись back4app с новым настроенным проектом если вам нужна помощь, обратитесь к начало работы с back4app https //www back4app com/docs/get started/new parse app среда разработки для nuxt js убедитесь, что у вас установлен node js и настроена ide или текстовый редактор на ваш выбор базовые знания nuxt js, vue js и rest api обратитесь к документации nuxt js https //nuxtjs org/docs если вам нужно освежить знания шаг 1 – инициализация проекта настройка нового проекта back4app войдите в свою учетную запись back4app выберите опцию “новое приложение” на вашей панели управления назовите ваш проект basic crud app nuxt и следуйте инструкциям по настройке создать новый проект после создания проекта он появится на вашей панели управления, готовый к дальнейшей конфигурации бэкенда шаг 2 – создание модели данных установление ваших структур данных для этого crud приложения вы создадите несколько классов (или коллекций) в вашем проекте back4app ниже приведены примеры ключевых классов и их полей, необходимых для базовой функциональности crud 1\ коллекция элементов эта коллекция хранит информацию о каждом элементе поле тип описание ид идентификатор объекта уникальный идентификатор, сгенерированный системой название строка название предмета описание строка краткое описание предмета создано дата метка времени создания элемента обновлено дата метка времени последнего обновления 2\ коллекция пользователей эта коллекция управляет данными пользователей и информацией об аутентификации поле тип описание ид идентификатор объекта автоматически сгенерированный уникальный идентификатор имя пользователя строка уникальное имя пользователя для пользователя электронная почта строка уникальный адрес электронной почты пользователя хешпароля строка хэшированный пароль для безопасной аутентификации создано дата время создания аккаунта обновлено дата метка времени для изменений в учетной записи вы можете определить эти коллекции и поля вручную в панели управления back4app создать новый класс вы добавляете поля, выбирая соответствующий тип данных, называя поле, при желании устанавливая значение по умолчанию и указывая, является ли поле обязательным создать колонку использование ai агента back4app для генерации схемы ai агент back4app — это удобный инструмент в вашей панели управления, который может автоматически создать вашу схему на основе предоставленного описания эта функция ускоряет процесс настройки и обеспечивает оптимизацию вашей модели данных для операций crud как использовать ai агента откройте ai агента получите доступ к нему из настроек вашего проекта на панели управления back4app опишите вашу схему предоставьте подробный запрос, описывающий классы и поля, которые вам нужны просмотрите и подтвердите ai агент сгенерирует предложение схемы просмотрите его и подтвердите, чтобы применить изменения пример запроса create the following collections in my back4app project 1\) collection items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) collection users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) эта умная функция экономит время и обеспечивает последовательную настройку вашей структуры данных для оптимальных операций crud шаг 3 – включение админ приложения и управление операциями crud обзор админ приложения админ приложение back4app предоставляет интерфейс без кода для бесшовного управления данными на сервере его функции перетаскивания упрощают выполнение операций crud, таких как добавление, редактирование, просмотр и удаление записей активация админ приложения перейдите в меню “дополнительно” на вашей панели управления back4app выберите “админ приложение” и нажмите на “включить админ приложение ” настройте свою учетную запись администратора создав начальные учетные данные этот шаг также создаст системные роли, такие как b4aadminuser и настроит основные системные коллекции включить админ приложение после активации войдите в админ приложение, чтобы легко управлять данными вашего приложения панель управления приложения администратора использование приложения администратора для операций crud внутри приложения администратора вы можете добавить новые записи используйте кнопку “добавить запись” в коллекции (например, товары), чтобы вставить данные просмотреть и редактировать нажмите на любую запись, чтобы просмотреть ее детали или внести изменения удалить записи удалите записи, которые больше не нужны этот интуитивно понятный интерфейс упрощает управление данными для вашего приложения шаг 4 – подключение вашего приложения nuxt js к back4app с вашим бэкендом на месте, следующая задача – интегрировать ваше приложение nuxt js с back4app использование вызовов rest api поскольку sdk parse не часто используется с nuxt js, вы будете выполнять операции crud с помощью вызовов rest api настройка api запросов в nuxt js установите axios если он еще не установлен, добавьте axios в ваш проект nuxt js npm install @nuxtjs/axios настройка модуля axios в вашем nuxt config js , включите модуль axios и настройте базовую конфигурацию export default { modules \['@nuxtjs/axios'], axios { baseurl 'https //parseapi back4app com' } } выполнение операций crud создайте сервис (например, services/items js ) для обработки api запросов ниже приведен пример того, как вы можете извлекать, создавать, обновлять и удалять элементы // services/items js export default { async fetchitems() { try { const response = await this $axios $get('/classes/items', { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); return response results; } catch (error) { console error('ошибка при извлечении элементов ', error); return \[]; } }, async additem(title, description) { try { const response = await this $axios $post('/classes/items', { title, description }, { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); return response; } catch (error) { console error('ошибка при создании элемента ', error); } }, async updateitem(objectid, newtitle, newdescription) { try { const response = await this $axios $put(`/classes/items/${objectid}`, { title newtitle, description newdescription }, { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); return response; } catch (error) { console error('ошибка при обновлении элемента ', error); } }, async removeitem(objectid) { try { const response = await this $axios $delete(`/classes/items/${objectid}`, { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); return response; } catch (error) { console error('ошибка при удалении элемента ', error); } } } интегрируйте эти методы api в ваши страницы или компоненты nuxt js, чтобы включить полную функциональность crud шаг 5 – укрепление безопасности реализация списков контроля доступа (acl) обеспечьте безопасность ваших данных, настроив acl для отдельных объектов например, вы можете ограничить доступ к элементу так, чтобы только его создатель мог его просматривать или изменять async function createprivateitem(title, description, userid) { try { const acl = { " " { "read" false, "write" false }, \[userid] { "read" true, "write" true } }; const response = await this $axios $post('/classes/items', { title, description, acl acl }, { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); console log('private item created ', response); } catch (error) { console error('error creating private item ', error); } } настройка разрешений на уровне класса (clp) в вашей панели управления back4app настройте clp для применения стандартных политик доступа, обеспечивая, чтобы только аутентифицированные пользователи могли взаимодействовать с конкретными коллекциями шаг 6 – реализация аутентификации пользователей настройка регистрации и входа пользователей back4app использует встроенную коллекцию пользователей для управления аутентификацией в вашем приложении nuxt js реализуйте регистрацию и вход с помощью вызовов rest api пример регистрация и вход пользователя export default { async registeruser(username, password, email) { try { const response = await this $axios $post('/users', { username, password, email }, { headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); console log('user registered ', response); return response; } catch (error) { console error('registration error ', error); } }, async loginuser(username, password) { try { const response = await this $axios $get('/login', { params { username, password }, headers { 'x parse application id' 'your application id', 'x parse rest api key' 'your rest api key' } }); console log('user logged in ', response); return response; } catch (error) { console error('login error ', error); } } } этот подход поддерживает управление сессиями, восстановление пароля и дополнительные функции аутентификации шаг 7 – развертывание вашего приложения nuxt js back4app упрощает процесс развертывания вы можете развернуть ваше приложение nuxt js, используя различные методы, включая контейнеризацию docker 7 1 сборка вашего проекта nuxt js соберите приложение запустите следующую команду для генерации сборки для продакшена npm run build запустите приложение проверьте вашу сборку для продакшена локально, используя npm run start 7 2 организация структуры вашего проекта типичная структура проекта nuxt js может выглядеть следующим образом basic crud app nuxt/ \| assets/ \| components/ \| layouts/ \| pages/ \| plugins/ \| services/ \| | items js \| | auth js \| static/ \| nuxt config js \| package json \| dockerfile 7 3 докеризация вашего приложения nuxt js если вы предпочитаете контейнеризацию, включите dockerfile в корневую папку вашего проекта \# use a node js image as the base from node 16 alpine \# set working directory workdir /app \# copy package files and install dependencies copy package json / run npm install \# copy the rest of the application copy \# build the application run npm run build \# expose the port (adjust if necessary) expose 3000 \# start the application cmd \["npm", "run", "start"] 7 4 развертывание через back4app web deployment подключите ваш репозиторий убедитесь, что ваш проект nuxt js размещен на github настройте развертывание в вашей панели управления back4app перейдите в раздел web deployment , свяжите ваш репозиторий (например, basic crud app nuxt ) и выберите соответствующую ветку установите инструкции по сборке определите команду сборки (например, npm run build ) и укажите выходной каталог развертывание нажмите deploy и следите за логами, пока ваше приложение не станет доступным шаг 8 – завершение и будущие шаги отличная работа! вы теперь создали crud приложение на nuxt js, интегрированное с back4app вы создали проект с названием basic crud app nuxt , разработали коллекции для предметов и пользователей и управляли своими данными через приложение администратора back4app кроме того, вы подключили свое приложение nuxt js через вызовы rest api и реализовали надежные меры безопасности что дальше расширение функционала рассмотрите возможность добавления функций, таких как расширенные фильтры поиска, детальные представления предметов или обновления в реальном времени улучшения на стороне сервера изучите облачные функции, интеграции с внешними api или разрешения на основе ролей дальнейшее обучение изучите документацию back4app https //www back4app com/docs и дополнительные руководства, чтобы оптимизировать ваше приложение еще больше счастливого кодирования и наслаждайтесь разработкой с nuxt js и back4app!