Как загрузить папку ресурсов поставщика в Rails 4?
У меня есть плагин со многими типами файлов и его собственная древовидная структура (html, css, js, документация, изображения и т.д.)
Вместо того, чтобы проходить через папку плагина и разбивать все файлы css и js в папки vendor/assets/js/
vendor/assets/css/
, я хочу просто сохранить всю папку плагина как есть. Например,
vendor/assets/multipurpose_bookshelf_slider/
Как я уверен, что пути загружаются правильно и ссылаются на них в файлах манифеста?
В настоящее время у меня есть некоторые файлы, размещенные следующим образом (не исчерпывающие)
/my_app/vendor/assets/multipurpose_bookshelf_slider/css/skin01.css
/my_app/vendor/assets/multipurpose_bookshelf_slider/js/jquery.easing.1.3.js
/my_app/vendor/assets/multipurpose_bookshelf_slider/
/my_app/vendor/assets/multipurpose_bookshelf_slider/
Я ссылаюсь на них в
application.js
//= require multipurpose_bookshelf_slider/js/jquery.easing.1.3.js
//= require multipurpose_bookshelf_slider/js/jquery.bookshelfslider.min.js
application.css.scss
@import "css/bookshelf_slider";
@import "css/skin01";
Ответы
Ответ 1
Любая папка, созданная непосредственно под assets
, будет добавлена в пути загрузки. Файлы в этой папке можно ссылаться как обычно:
Если у вас
то vendor/assets/custom/
будет добавлен в пути загрузки.
Включите файлы в следующие файлы, выполнив следующие действия:
application.js
//= require js/file
application.css.scss
@import "css/file";
После этого обязательно перезапустите локальный сервер, так как при запуске вашего сервера будут распознаны пути загрузки.
Примечание. Чтобы просмотреть список путей загрузки, введите свой терминал rails c
, затем введите Rails.application.config.assets.paths
.
Ответ 2
Если запущенное приложение активировано, оно должно найти ваши активы после расширения пути в вашем приложении .rb
config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")
Ответ 3
Я предпочитаю ответ D7na, но с некоторым улучшением, по-моему.
Пока это связано с активами, я думаю, что лучше разместить его в файле assets.rb
.
assets.rb
:
Rails.application.config.assets.paths << Rails.root.join("multipurpose_bookshelf_slider")