Автор оригинала: Elliott Draper.
Боковые клиенты для более адаптивных веб-приложений en Vogue И сейчас было в течение нескольких лет. Сами структуры изменяются в популярности – начать с него было позвоночнилось, затем Ember и Angular – совсем недавно, фреймворки, такие как Vue и React, стали самыми популярными вариантами.
Пусть никогда не будет сказано, что рельсы не двигаются со временем, так как Rails 5.1 ввели GEM WebPacker GEM, предоставляя умный интерфейс, чтобы позволить вам использовать конфигурацию WebPack для пакетов JavaScript в закупке на клиентской стороне вашего приложения Rails. Это означает более легкий доступ к стабильным версиям клиентских боковых каркасов и более простые ремонтопригодности для этих зависимостей. Это отдельный драгоценный камень, что позволяет вам также использовать его в Rails 4.2+ приложения, если это необходимо.
Давайте посмотрим на то, насколько легко он находится в Rails 5.1, чтобы настроить Vue.js и реагировать. Убедитесь, что у вас установлена последняя версия Rails, а затем мы настроим Новое пустое приложение :
rails new frontend-fun
Вы также можете указать, чтобы использовать WebPack в рамках этой команды и пропустить следующую пару шагов:
rails new frontend-fun --webpack
Тем не менее, если вы хотите добавить это в приложение существующих Rails, эти следующие два шага позволят вам добавить WebPacker, готовый к использованию.
В приложении добавьте WebPacker
GEM к Gemfile
:
gem "webpacker"
Затем запустите Bundle от терминала в корневом каталоге проекта, чтобы установить GEM:
bundle install
На данный момент у нас теперь будет дополнительные команды, доступные для нас вежливости GEM WebPacker, чтобы установить пакеты Frontend. Мы получим вещи с начальной командой для подготовки нашего конфигурации WebPacker:
bin/rails webpacker:install
С что сделано Мы, вероятно, должны настроить базовую страницу для тестирования, поэтому создайте новый контроллер Приложение/Контроллеры/Site_Controller.rb
, со следующим Ruby Code в нем:
class SiteController < ApplicationController end
Тогда мы создадим шаблон для нашего контента, в Приложение/Просмотры/Сайт/index.html.erb
:
FrontendFun
Наконец, в нашем config/marross.rb
Файл, мы добавим ссылку на корню нашего приложения на новый контроллер и действие:
Rails.application.routes.draw do root "site#index" end
Если вы тестируете Наше приложение сейчас Вы увидите FrontendFun заголовок Последнее, что нам теперь нужно сделать, это крючок в нашем WebPacker JS со ссылкой от нашего шаблона макета. В Приложение/Просмотры/Макеты/Application.html.erb
ниже javascript_include_tag
Ссылка в , Добавлять:
<%= javascript_pack_tag 'application' %>
Сейчас Если вы перезагрузите страницу, и посмотрите на консоль JavaScript, вы должны увидеть:
Hello World from Webpacker
WebPacker – это жив!
Vue.js.
Чтобы установить vue.js, запустите следующие команды:
bin/rails webpacker:install:vue bin/yarn install
Это установит пакеты Vue.js. Затем мы подключим пакет Hello Vue, который настроен по умолчанию, изменяя наши javascript_pack_tag
линия в Приложение/Просмотры/Макеты/Application.html.erb
:
<%= javascript_pack_tag 'application', 'hello_vue' %>
Перезагрузить нашу страницу, и вы сейчас Посмотреть Привет Vue! На нашей странице тело, которое происходит напрямую от Vue.js!
Реагировать
Теперь в приложении производства вы вряд ли хотите использовать более одной рамки Frontend, если вы не переходили от одного к другому. Но это FrontendFun Итак, мы собираемся добавить реагировать тоже!
К настоящему времени это должно быть довольно простым, мы бежим:
bin/rails webpacker:install:react bin/yarn install
Это установит пакеты RACT теперь и настроить базу HelloReact
Компонент, похожий на наше Привет
Отказ Поэтому нам просто нужно будет изменить наши javascript_pack_tag
Еще раз, чтобы ссылаться на наш реактивный пакет:
<%= javascript_pack_tag 'application', 'hello_vue', 'hello_react %>
Еще раз перезагрузить Наша страница и вот – Привет Vue! и Привет отреагировать! Отказ
Два Frontend Frameworks, настроен очень легко, совместно существуют на той же HTML-странице в нашем приложении Rails. Возможности практически бесконечны!
Следующие шаги
Отсюда вы можете редактировать либо Приложение/Javascripts/packs/hello_vue.js
и Приложение/Javascripts/app.vue
Если вы хотите использовать vue.js или Приложение/Javascripts/hello_react.jsx
Для реагирования на реагирование, добавление новых компонентов и взаимодействий для создания вашего интерфейса и интегрировать его любую любую функциональностью Backend, которые могут предложить приложение Rails. Вы можете проверить простое приложение Demo Rails, которое мы только что построили здесь Отказ
Ejdraper • кодирование • рельсы • Vue • реагировать • внешний интерфейс