Meteor Vue.js: от разработки до развертывания
В этой статье мы узнаем, как использовать удивительные возможности vue.js в качестве внешнего интерфейса метеора для создания самого мощного в мире приложения TODO. Мы рассмотрим интеграцию meteor vue, vuetify, публикацию и подписку, модульное тестирование сервера и клиента и, наконец, развертывание в Интернете и на мобильных устройствах.
Для создания нашего «самого мощного в мире приложения TODO» нам понадобится следующее: текстовый редактор (Webstorm, VSCode), ваш мозг и две чашки кофе. Это хорошая вещь о метеоре, устанавливает все, что вам нужно из коробки.
Установка Meteor на OSX/LINUX
Запустите следующую команду в своем терминале, чтобы установить последнюю официальную версию Meteor:
curl https://install.meteor.com/ | sh
Установка Метеора на Windows
Сначала устанавливаем Шоколад:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Затем запустите эту команду с помощью командной строки администратора:
choco install meteor
Создание приложения Meteor
Теперь, когда метеор установлен, мы можем создать новый проект метеора, запустив:
meteor create the-todos-app
это создаст новый проект метеора с Blaze в качестве внешнего интерфейса по умолчанию. чтобы использовать Vue, мы должны установить Vue.js, используя:
meteor npm install --save vue
meteor add akryum:vue-component
Пакет akryum:vue-component
meteor позволяет использовать Однофайловые компоненты Vue с расширениями файлов .vue в вашем приложении meteor, как в традиционном проекте Vue.
Теперь давайте создадим и изменим эти три файла: /client/App.vue
Корневой компонент вашего приложения /client/main.js
Инициализация приложения Vue при запуске Meteor/client/main.html
, содержащий тело с блоком #app div Нам нужен базовый HTML-документ с идентификатором app
.
//App.vue <template> <div> <p>This is a Vue component and below is the current date:<br />{{date}}</p> </div> </template> <script> export default { data() { return { date: new Date(), }; } } </script> <style scoped> p { font-size: 2em; text-align: center; } </style> //client/main.js import Vue from 'vue'; import App from './App.vue'; import './main.html'; Meteor.startup(() => { new Vue({ el: '#app', ...App, }); }); <!--client/main.html--> <head> <title>The Todo App</title> </head> <body> <div id="app"></div> </body>
Чтобы запустить новое приложение:
meteor
У вас должна быть такая страница
Добавление Vuetify
Чтобы установить vuetify, просто выполните следующую команду
meteor npm install vuetify
Затем импортируйте vuetify в ваш client/main.js, это должно выглядеть так:
//client/main.js import Vue from 'vue'; import App from './App.vue'; import './main.html'; import Vuetify from 'vuetify' import 'vuetify/dist/vuetify.min.css' Vue.use(Vuetify) const vuetify = new Vuetify({}) Meteor.startup(() => { new Vue({ el: '#app', vuetify, ...App, }); });
Vuetify использует значки материального дизайна, поэтому давайте добавим их в client/main.html через CDN.
Теперь давайте добавим готовый макет из vuetify в client/App.vue.
Добавление маршрутизации
Хорошая новость в том, что мы все еще можем использовать vue router… поторопитесь🎉. Давайте продолжим и установим, используя:
meteor npm install vue-router
Теперь мы можем использовать vue-router так же, как в традиционном проекте vue CLI. Давайте создадим файл router.js в папке клиента, в котором будут все наши маршруты.
Далее давайте импортируем наш маршрутизатор vue в файл client/main.js.
......... import router from './router.js' ........ Meteor.startup(() => { new Vue({ el: '#app', router, vuetify, ...App, }); }); ......
Давайте создадим несколько новых компонентов, чтобы мы могли осуществлять маршрутизацию между этими страницами. Мы собираемся создать новую папку в папке client, pages, чтобы просто упорядочить все различные компоненты, которые будут созданы. Мы создадим Mytodos.vue, Help.vue и Settings.vue.
Теперь мы можем добавить router-view и router-link в наш макет в client\App.vue.
<router-view></router-view>