Рубрики
Без рубрики

Frontend Fun с рельсами 5.1 и WebPacker

Клиентские боковые рамки для более отзывчивых веб-приложений являются en Vogue и уже в течение нескольких лет. Давайте посмотрим на то, как легко добавить Vue.js и реагировать на приложение Rails 5.

Автор оригинала: 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реагироватьвнешний интерфейс