У меня есть эти файлы в моей папке lib / assets (sketchyPad - это плагин jQuery для рисования на холсте html5, а farbastic - палитра цветов, используемая sketchyPad):
lib/
|-- assets
| |-- javascripts
| | `-- lib.js
| `-- sketchyPad
| |-- README.md
| |-- brushes
| | |-- simple.js
| | `-- smooth.js
| |-- example
| | |-- index.html
| | |-- jquery-ui-1.8.16.custom
| | | |-- css
| | | | `-- ui-lightness
| | | | |-- images
| | | | | |-- ui-bg_diagonals-thick_18_b81900_40x40.png
| | | | | |-- ui-bg_diagonals-thick_20_666666_40x40.png
| | | | | |-- ui-bg_flat_10_000000_40x100.png
| | | | | |-- ui-bg_glass_100_f6f6f6_1x400.png
| | | | | |-- ui-bg_glass_100_fdf5ce_1x400.png
| | | | | |-- ui-bg_glass_65_ffffff_1x400.png
| | | | | |-- ui-bg_gloss-wave_35_f6a828_500x100.png
| | | | | |-- ui-bg_highlight-soft_100_eeeeee_1x100.png
| | | | | |-- ui-bg_highlight-soft_75_ffe45c_1x100.png
| | | | | |-- ui-icons_222222_256x240.png
| | | | | |-- ui-icons_228ef1_256x240.png
| | | | | |-- ui-icons_ef8c08_256x240.png
| | | | | |-- ui-icons_ffd27a_256x240.png
| | | | | `-- ui-icons_ffffff_256x240.png
| | | | `-- jquery-ui-1.8.16.custom.css
| | | `-- js
| | | `-- jquery-ui-1.8.16.custom.min.js
| | |-- jquery.min.js
| | `-- mattfarina-farbtastic-4bb6bbf
| | |-- CHANGELOG.html
| | |-- LICENSE.txt
| | |-- README.html
| | |-- README.md
| | |-- demo1.html
| | |-- demo2.html
| | |-- farbtastic.css
| | |-- farbtastic.js
| | |-- farbtastic.min.js
| | |-- marker.png
| | |-- mask.png
| | `-- wheel.png
| |-- sketchyPad.css
| `-- sketchyPad.js
Поэтому я хочу включить sketchyPad.js, sketchyPad.css, а также все файлы js в папке кистей, а также файл farbtastic.min js.
В app / assets / javascripts / application.js я вставил:
//= require sketchyPad (this part works fine and correctly includes sketchyPad.js)
, но я также хочу включить
lib/assets/sketchyPad/brushes/simple.js
lib/assets/sketchyPad/brushes/smooth.js
и любые другие файлы js в папку brushes, как мне использовать require_directory, когда он находится не в приложении / assets, а в lib / assets или vendor /активы?
Обновление:
Я пытался
require_tree sketchyPad
, но ошибки:
require_tree argument must be a relative path
Я пытался
require_tree ./sketchyPad
но ошибки с:
require_tree argument must be a directory
Я думаю, что require_tree должен относиться к папке app / assets, но если указать что-то вроде
require_tree ./../lib/assets/sketchyPad/brushes
, также выдается ошибка:
Аргумент require_tree должен быть каталогом
В любом случае я не хочу включать все дерево sketchyPad, поскольку оно содержит некоторые js-файлы, которые я не хочу включать ... например, примеры и собственную версиюболее старый jQuery.
ОБНОВЛЕНИЕ:
Я закончил тем, что создал lib.js в папке lib / assets / javascripts с манифестом, включающим js-файлы sketchyPad относительно lib.Папка / assets, а не папка app / assets.
в app / assets / javascripts / application.js Я помещаю:
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require lib
и в lib / assets / javascripts / lib.jsЯ положил:
//= require ./../sketchyPad/sketchyPad
//= require_tree ./../sketchyPad/brushes
//= require ./../sketchyPad/example/mattfarina-farbtastic-4bb6bbf/farbtastic.min
Это, кажется, включает в себя правильные файлы.Был ли более простой способ сделать это?