Tôi có các tệp này trong thư mục lib/asset của mình (sketchyPad là một plugin jQuery để vẽ trên vải html5 và farbastic là bộ chọn màu được sử dụng bởi sketchyPad) :cách để chỉ định đường dẫn đến tệp js trong lib/asset bằng cách sử dụng đường dẫn 3.2 tài sản
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
Vì vậy, tôi muốn bao gồm sketchyPad.js, sketchyPad.css và cũng tất cả các js trong các mẫu cọ thư mục và cũng file farbtastic.min js.
Trong ứng dụng/tài sản/Javascripts/application.js tôi đặt:
//= require sketchyPad (this part works fine and correctly includes sketchyPad.js)
nhưng tôi cũng muốn bao gồm
lib/assets/sketchyPad/brushes/simple.js
lib/assets/sketchyPad/brushes/smooth.js
và các tập tin bất kỳ js khác trong thư mục bàn chải, làm cách nào để sử dụng require_directory khi nó không có trong ứng dụng/tài sản nhưng trong lib/asset hoặc vendor/asset?
Cập nhật:
Tôi đã thử
require_tree sketchyPad
nhưng lỗi với:
require_tree argument must be a relative path
Tôi đã thử
require_tree ./sketchyPad
nhưng lỗi với:
0.123.require_tree argument must be a directory
Tôi nghĩ require_tree phải tương đối so với thư mục app/tài sản, nhưng đặt một cái gì đó giống như
require_tree ./../lib/assets/sketchyPad/brushes
cũng cho lỗi:
luận require_tree phải là một thư mục
Eitherway tôi không muốn bao gồm toàn bộ cây sketchyPad, vì nó chứa một số tệp js mà tôi không muốn bao gồm ... như các ví dụ và đó là phiên bản riêng của jQuery cũ hơn.
UPDATE:
Những gì tôi đã kết thúc làm đã tạo ra một lib.js trong lib/tài sản/Javascripts thư mục với một biểu hiện bao gồm các file sketchyPad js như tương đối so với thư mục lib/tài sản thư mục chứ không phải ứng dụng/thư mục tài sản.
trong ứng dụng/tài sản/Javascripts/application.js tôi đặt:
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require lib
và trong lib/tài sản/Javascripts/lib.js tôi đặt:
//= require ./../sketchyPad/sketchyPad
//= require_tree ./../sketchyPad/brushes
//= require ./../sketchyPad/example/mattfarina-farbtastic-4bb6bbf/farbtastic.min
Đó dường như bao gồm các các tệp chính xác. Có cách nào dễ hơn để làm việc này không?
Câu hỏi: tệp mà bạn muốn đặt chỉ thị nhập ở đâu? –