Как включить библиотеку javascript в Rails 5? - PullRequest
0 голосов
/ 13 апреля 2020

Впервые я буду иметь дело с библиотекой javascript в рельсах. В этом случае я собираюсь использовать Tracking JS для работы с распознаванием лиц, но так как я никогда не использовал его, я не знаю, как включить его в свой проект и использовать его.

I используйте рельсы 5.

Ответы [ 2 ]

0 голосов
/ 13 апреля 2020

Обычно вы загружаете внешние библиотеки в папку vendor/assets. Для отслеживания JS вы можете создать папку tracking_js и загрузить предоставленные файлы JavaScript. Либо с их веб-сайта , либо с рабочей версии с CDN .

В зависимости от выбранного файла у вас теперь есть файл vendor/assets/tracking_js/tracking-min.js. Вы можете включить его в свой проект, используя //= require tracking-min в своем файле app/assets/javascripts/application.js.

Если JavaScript использует определенные ресурсы, которые также предоставляются, вам нужно изменить сценарий с .js на .js.erb и использует помощник asset_path для ссылки на местоположение файла.

В популярных библиотеках часто есть гем Rails, где все это делается для вас. Например, leaflet-rails - это такая библиотека, которая использует ресурсы (маркеры SVG) и доступна как гем, где эти действия уже выполнены. JavaScript библиотеки без ресурсов могут оставаться как есть, в большинстве случаев вы не найдете для них гемы, поскольку вы просто помещаете их в папку vendor/assets/<library>/.

Для получения дополнительной информации обратитесь к 2.2 Актив Организация из руководства Asset Pipeline .

0 голосов
/ 13 апреля 2020

Со временем были разработаны два различных метода, более старый из них называется Asset Pipeline: https://guides.rubyonrails.org/asset_pipeline.html

Более новым является гем под названием Webpacker: https://prathamesh.tech/2019/08/26/understanding-webpacker-in-rails-6/

Ширина и ширина различий здесь равны двум широким до express в ответе SO, но достаточно сказать, что по умолчанию в Rails 5 - первое, а по умолчанию в Rails 6 - последний.

Вот некоторая информация о том, как добавить NPM модулей, например, тот, который вы создали, в конвейер активов: https://ricostacruz.com/til/npm-in-rails

Однако, Я бы сказал, что вам лучше понять и изучить Webpacker и либо добавить его в свой проект на Rails 5, либо перенести свой проект на Rails 6. Это действительно не займет много времени, и Webpacker - лучший выбор для продвижения вперед.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...