10

Wiele wtyczek jQuery mają następujące struktury katalogów:Czy "Rails Way" zawiera wtyczkę jQuery w potoku zasobów?

/<plugin name> 
../css 
../images 
../js 

Pliki CSS zwykle mają względne linki do zdjęć w nich. Co chcę zrobić, to dołączyć te wtyczki do Rails Way w ramach potoku Asset Pipeline i mam nadzieję, że nie wymaga to zmiany nazw odniesień do plików, aby usunąć względne linki. Czy istnieje taki Rails Way?

Czy możliwe jest również, że przesada zawiera już zminimalizowaną wtyczkę jQuery w potoku zasobów?

+0

Co powiesz na użycie '' // = require_tree ./ [nazwa-wtyczki] '', aby wymagać całego katalogu z wtyczką? – freemanoid

Odpowiedz

2

Powinieneś spróbować dodać swoje aktywa do ścieżki obciążenia, co jest zalecanym sposobem, o ile wiem. Jeśli aplikacja używasz ma aktywa-rurociąg aktywna, powinna znaleźć swoje aktywa po rozwinięciu ścieżkę w environment.rb

shure, jeśli to jest to, co prosiłeś, ale jeśli nie, należy sprawdzić: http://guides.rubyonrails.org/asset_pipeline.html#asset-organization

Pamiętaj, aby ponownie uruchomić serwer

1

Myślę, że powodem, dla którego nie otrzymałeś odpowiedzi, jest niejasne pytanie. Czy pytasz, czy to przesada, aby umieścić wtyczki w potoku aktywów? Pytasz, czy musisz zmienić nazwy plików referencyjnych?

Zawsze umieszczam wszystkie moje wtyczki jquery w moim potoku zasobów. Overkill lub nie, wszystko w jednym miejscu i są one kompilowane tylko raz, więc nawet jeśli ich skompilowanie trwa dłużej, nie ma to wpływu na moją aplikację.

+0

Te wtyczki mają jednak zazwyczaj swoją własną strukturę katalogów. Czy zachowujesz to, czy przesuwasz CSS do katalogu/stylesheets, obrazy do katalogu/images, etc? – AKWF

+0

To jest część, o której jestem zdezorientowany. Bo jeśli zachowam strukturę katalogów wtyczki, w której podkatalogu potoku/assets umieszczam? – AKWF

+0

Osobiście przenoszę plik css do katalogu/stylesheets i obrazy do katalogu/images, a następnie zmieniam ścieżki w razie potrzeby. Możesz prawie przejść do pliku css i zrobić wyszukiwanie na "url", a następnie złapie wszystkie ścieżki obrazu. – Catfish

2

miałem ten sam problem i też próbowali znaleźć drogę „Rails”, aby to zrobić. I to jest to, co skończyło się na koniec dnia:

Jako Rob już wymienić:

vendor/aktywa jest dla aktywów, które są w posiadaniu podmiotów zewnętrznych, takich jak kod JavaScriptu wtyczki i frameworki CSS.

Źródło: 2.1 Asset Organization

Weźmy praktyczny przykład: za pomocą jquery_datepicker gem (Uwaga: trzeba było użyć obejścia z powodu tego problemu: bundle pack does not work with git sources).

1) Instalacja klejnot (dość straighforward):

cd vendor/gems 
git clone https://github.com/albertopq/jquery_datepicker.git 

2) dodać do swojej Gemfile

gem 'jquery_datepicker', :path => 'vendor/gems/jquery_datepicker' 

3) Zainstalować jquery-ui motyw

  • Z ThemeRoller wybierz motyw, zaznacz Datepicker i suwak oraz wersję jquery
  • Pobierz i rozpakuj zawartość opakowania
  • CSS/obrazy z folderu css/theme-name przenieść je:
    • jquery-ui-1.8.xx.custom.css do app/vendor/stylesheets/
    • images folder app/vendor/images/ (tak, przenieść cały folder images tak skończyć z czymś jak ten app/vendor/images/images/ui-icons_256x240.png
  • i18n od development-bundle/ui/i18n folderu (opcjonalnie) przenieść je do:
    • utworzyć folder i18n pod app/vendor/javascripts/
    • ruch jquery.ui.datepicker-xx.js do tego folderu app/vendor/javascripts/i18n/
    • upewnić folder i18n jest załadowany tak to w application.js
//= require_directory ./i18n

vendor/assets jest ładowany automatycznie AFAIK tak nie musisz uwzględniać ścieżki w potoku aktywów.

Chciałbym zobaczyć, jak inni się do tego zbliżają, to bardzo dobre pytanie.