Как использовать Rails 5.1.0 и jQuery
Я начал использовать Rails v5.1.0, который, как я понимаю, поставляется без jQuery по умолчанию, однако хотите установить jQuery для работы с Zurb Foundation 6.
каков наилучший способ настроить это, поскольку foundation в настоящее время не загружает модалы?
2 ответов
резюме:
- Установить Пряжа
yarn add jquery
- добавить jquery в приложение.файл манифеста js
~~~
я столкнулся с этой проблемой и сегодня.
на эта статья об использовании ActionCable с 5.1 я узнал, что новый способ получить JQuery в вашем приложении-использовать пряжа который является менеджером зависимостей javascript (думаю, Gemfile и Bundler, но для яваскрипт.)
вы увидите новый исполняемый файл при создании нового приложения в Rails 5.1: bin/yarn
. Попытка запустить это без пряжи, установленной в вашей системе, предоставит типичное полезное сообщение "что делать дальше":
Download Yarn at https://yarnpkg.com/en/docs/install
если вы используете homebrew на Mac, вы можете просто
brew install yarn
.если вы используете Chocolatey на Windows,
choco install yarn
.в Linux обычное " добавить РЕПО и
sudo apt-get install yarn
применить. Я позволю вам перейти на страницу docs, чтобы получить детали.
как только вы yarned вверх, вы можете сделать:
yarn add jquery
который добавит jquery к.файл зависимостей js:package.json
. Это похоже на "Javascript Gemfile" вашего приложения, а Yarn-ваш "Bundler".
теперь, когда вы добавили jquery в свой проект, вы можете включить его в свой манифест обычным способом.
//= require jquery
//= require rails-ujs
//= require turbolinks
//= require bootstrap
//= require_tree .
вы можете также найти этой ссылке полезно, как хорошо. Это статья, рассказывающая о новых идеях для обработки зависимостей Javascript в Rails.
удалите jQuery по умолчанию из файла манифеста javascript, удалив строку, содержащую //= require jquery
с app/assets/javascripts/application.js
а затем добавьте свою версию jquery. Вы можете добавить файл jQuery в app/assets/javascripts
и он будет подобран автоматически или с помощью версии CDN.