Подробное руководство по легкой настройке Vue 3 и AdonisJS с помощью Laravel Mix.

AdonisJS — это одна из полнофункциональных сред Node.js, подобных Laravel, которая имеет некоторые преимущества по сравнению с Laravel. Одна из причин, по которой я использовал AdonisJS, заключается в том, что некоторые блокчейн-проекты (Eth/Algo) предоставляют только SDK для JavaScript. Конечно, мы можем справиться со всеми вещами, связанными с разработкой блокчейна, используя наш интерфейс (Vue.js/React) внутри нашего проекта с полным стеком, но он может быть не очень гибким, если наш сервер вообще не поддерживает эти SDK.

AdonisJS включает в себя все необходимое для создания полнофункционального веб-приложения или сервера API. https://adonisjs.com

Мы знаем, что у AdonisJS есть механизм шаблонов Edge для внешнего интерфейса. Но иногда использование и интеграция другого внешнего интерфейса, такого как Vue.js, является одним из вариантов. Vue.js популярен, и я думаю, что многие разработчики уже знали Vue.js по сравнению с Edge. Но наверняка будет удобнее и быстрее, если мы будем знать, как разрабатывать с помощью Edge. Но сегодня я покажу вам, как интегрировать Vue 3 и AdonisJS с помощью Laravel Mix.

Обзор контента

  • Настройка Adonis и Laravel Mix
  • Настройка Vue 3

# 1 Настройка Adonis и Laravel Mix

Прежде всего, давайте начнем с установки проекта Adonis. В этом примере я создам новую папку проекта с именем vue-integration.

npm init adonis-ts-app@latest vue-integration

Первая установка задаст вам несколько вопросов, и вы можете выбрать любые варианты, которые вам нравятся.

Затем нам нужно установить некоторые необходимые пакеты для микса Laravel. Позже микс Laravel поможет нам скомпилировать наш проект Vue.

npm i adonis-mix-asset && npm i --save-dev laravel-mix

При этой установке нам нужно настроить веб-пакет для нашего проекта Adonis.

node ace invoke adonis-mix-asset

После приведенной выше команды в корневой папке будет создан файл webpack.mix.js. Давайте откроем и изменим его.

Что делает наш веб-пакет, так это то, что он рассматривает resources/vue/main.js как отправную точку для нашего проекта Vue позже. Затем, конечно, он извлекает некоторые дополнительные параметры, например, помогающие нам позже скомпилировать наш sass.

Затем нам нужно поместить скрипт в файл Edge. Давайте создадим новый пограничный файл в разделе resources/views/index.edge.

Давайте обновим маршруты Adonis в разделе start/routes.ts. Таким образом, любой доступ пользователя к конечной точке позже будет перенаправлен в наше приложение Vue.

Все хорошо! Сейчас самое время настроить наш Vue 3 JS.

# 2 Настройка Vue 3

Начнем с необходимых пакетов для нашего проекта Vue.

npm i [email protected] vue-router@next && npm i -D @vue/compiler-sfc sass sass-loader vue-loader@^16.8.3 autoprefixer postcss

Обратите внимание, что установка Vue 3 немного сложна. Компиляция может завершиться ошибкой, если вы используете другую версию пакета. Пожалуйста, взгляните на версию пакета, который вы используете.

В этом примере я помещу все, что связано с приложением Vue, в каталог resources/vue. В конце концов, у нас будет маршрутизатор Vue, компоненты и страницы для нашего Vue.

Я покажу вам два важных компонента для установки Vue 3: файлы router и main.js. Остальные компоненты Vue не будут рассмотрены, потому что это будет больше интерфейсных кодов, но вы можете увидеть пример в моем Github под этой статьей.

Давайте откроем (или создадим) файл resources/vue/main.js в качестве отправной точки для приложения Vue.

Затем для маршрутов в resources/vue/router/index.js

Вот и все! Чтобы скомпилировать наше приложение Vue, нам понадобится смесь Laravel.

node ace mix:watch # Development
node ace mix:build # Production Build

Затем давайте запустим сервер Adonis, чтобы увидеть наше веб-приложение.

node ace serve --watch # Development
node ace build --production # Production Build

Вуаля, теперь наш AdonisJS использует Vue 3 в качестве интерфейса с помощью микса Laravel.

Vue 3 имеет значительное улучшение производительности по сравнению с Vue 2, и это причина, по которой я использую Vue 3 в этой статье. Кроме того, настройка Vue 3 немного сложна, поскольку это может привести к сбою компиляции, если у нас установлена ​​другая версия пакета. Взгляните на мой package.json в моем Github ниже для справки, если вы не можете успешно скомпилировать свой Vue 3.

Ресурсы





Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.