Сначала поговорим о проекте.
Как следует из названия, это фреймворк, основанный на Vue.js + .NET, который был создан по просьбе участников сообщества для создания версии фреймворка ABP на Vue.js. Давайте взглянем на главную страницу:
Он выглядит довольно круто. Вот демонстрационные учётные записи:
Демонстрационный адрес: http://vue.yoyocms.com/
Логин: demo
Пароль: bb123456
Конечно, вы также можете зарегистрироваться самостоятельно, чтобы проверить его работу.
Для тех, кто не знаком с фреймворком ABP, вот что такое ABP:
ABP — это аббревиатура от "ASP.NET Boilerplate Project". ASP.NET Boilerplate — это новое начало для создания современных веб-приложений с использованием лучших практик и популярных технологий. Он предназначен для использования как универсального веб-фреймворка и шаблона проекта.
ABP представляет собой приложение-фреймворк, основанный на последних версиях ASP.NET Core, ASP.NET MVC и Web API. Он использует популярные фреймворки и библиотеки, предоставляя удобные механизмы авторизации, внедрения зависимостей, валидации, обработки ошибок, локализации, журналирования и кэширования.### Архитектура ABP реализует многослойную архитектуру (слои домена, приложения, инфраструктуры и представлений), а также концепцию Domain-Driven Design (объекты, репозитории, сервисы домена, сервисы приложения, DTO и т.д.). Также он предоставляет хорошую инфраструктуру для применения лучших практик, таких как внедрение зависимостей.### Шаблон ABP легко создаёт стартовый шаблон для вашего проекта. По умолчанию он включает самые популярные фреймворки и библиотеки. Также позволяет выбрать одностраничную (AngularJS) или многопользовательскую архитектуру, Entity Framework или NHibernate в качестве ORM. Узнать больше можно на официальном сайте.
Структура выбранного проекта следующая:
Это разделение на клиентскую и серверную части, но разделение не является чистым, поскольку из-за особенностей дизайна ABP, если требуется полное разделение на клиентскую и серверную части, то процесс авторизации становится сложнее, поэтому метод авторизации через токены не используется.
В предыдущих статьях [Интерceptar динамический Web API в фреймворке ABP] было объяснено, как использовать токены для авторизации. Однако в данном случае используется метод авторизации через cookies.
Но это не влияет на способ разработки клиентской и серверной частей.
Посмотрите на страницу входа:
## Реализация функциональности
build — скрипты сборки webpack
config — конфигурация сборки webpack
dist — файлы после сборки
src — директория исходного кода
static — статические файлы, директория остается неизменной после компиляции Это цитата от разработчика фронта, спасибо HuiXin666 за предоставленное время для улучшения интерфейса Vue.
Перед началом работы мы предполагаем, что у вас есть базовые навыки в
ES6
,Sass
,Vue
,VueRouter
,Vuex
.
Рекомендуется прочитать советы великого Ю Яньси.### Установка зависимостей фронта Перейдите в директорию Assets внутри вашего проекта Web
$ npm i
Не забудьте запустить сервер backend перед тем как запустить frontend
$ npm run dev
Webpack использует Express для запуска web-сервера на порту 8986.
$ npm run build
Эта команда скомпилирует все файлы в директорию dist. См. вышеупомянутую структуру проекта.
src/router
, создайте папку с модулем маршрута и добавьте файл index.js
.src/router/index.js
.#### 3. Добавление сервисаsrc/services
, добавьте модуль для запросов к соответствующим API, например, все запросы, связанные с ролью, должны находиться в файле roleService.js
.
Файл roleService.js
экспортирует объект, который соответствует abp.services.yoyocms.role
. Преимущество такого подхода заключается в возможности централизованного управления и расширения.Это основные моменты для версии Vue.js проекта ABP.
Если у вас есть предложения или найдены ошибки, пожалуйста, сообщите об этом через систему issue на git.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )