2015-07-10 12 views
9

Używam programu alt-installer do kopiowania potrzebnych plików z folderu bower_components do folderu bower_dist. Tutaj znajduje się odpowiednia część pliku bower.json:Jak zmienić ścieżkę instalatora dla jednego komponentu?

"install": { 
    "path": "bower_dist" 
}, 
"dependencies": { 
    "jquery": "~2.1.4", 
    "bootstrap": "~3.3.4", 
    "slick.js": "~1.5.5" 
}, 

Teraz tworzy się folder "bower_dist" iw jego folderze dla każdego komponentu. Problem polega na tym, że w komponencie slick.js mam kilka plików (eot, svg, ttf, woff), które muszę mieć w folderze /slick.js/fonts (a nie tylko w katalogu /slick.js/).

Jak to zrobić? Próbowałem już określić specjalny przypadek dla eot, svg, ttf i woff, ale wtedy to zostanie zastosowane do wszystkich składników. Plus nie chcę wprowadzać potrzeby określania wszystkich typów plików (js, css, itp.) ... raczej chcę po prostu skonfigurować specjalny typ czcionki dla slick.js. Czy to się da zrobić?

Odpowiedz

2

To okazało się trudniejsze, niż myślałem:

"install": { 
    "path": "bower_dist", 
    "sources": { 
     "slick-carousel": { 
      "mapping": [ 
       { "bower_components/slick-carousel/slick/slick.min.js": "slick.min.js" }, 
       { "bower_components/slick-carousel/slick/slick.css": "slick.css" }, 
       { "bower_components/slick-carousel/slick/slick-theme.css": "slick-theme.css" }, 
       { "bower_components/slick-carousel/slick/ajax-loader.gif": "ajax-loader.gif" }, 
       { "bower_components/slick-carousel/slick/fonts/slick.eot": "fonts/slick.eot" }, 
       { "bower_components/slick-carousel/slick/fonts/slick.svg": "fonts/slick.svg" }, 
       { "bower_components/slick-carousel/slick/fonts/slick.ttf": "fonts/slick.ttf" }, 
       { "bower_components/slick-carousel/slick/fonts/slick.woff": "fonts/slick.woff" } 
      ] 
     } 
    } 
}, 

mam zaktualizowany do nowej wersji slick.js i teraz to się nazywa zręczny-karuzela w altanie - wystarczy, aby wyjaśnić różnicę w pakiecie Nazwa.

6

Problemem wydaje się być to, że slick.js wykorzystuje wzór wzorca, w ich bower.jsonmain tablicy plików, który jest not supported...

Globs jak js/*.jsniedozwolone.

należy wykonać następujące czynności ...

  1. zastąpić wymagane pliki dla slick.js w pliku bower.json (patrz Install multiple main files i Configurable paths)

    "install": { 
        "base": "bower_dist", 
        "path": { 
         "js": "{name}", 
         "css": "{name}", 
         "eot": "{name}/fonts", 
         "svg": "{name}/fonts", 
         "ttf": "{name}/fonts", 
         "woff": "{name}/fonts" 
        }, 
        "sources": { 
         "slick.js": [ 
          "bower_components/slick.js/slick/slick.min.js", 
          "bower_components/slick.js/slick/slick.css", 
          "bower_components/slick.js/slick/slick-theme.css", 
          "bower_components/slick.js/slick/fonts/slick.eot", 
          "bower_components/slick.js/slick/fonts/slick.svg", 
          "bower_components/slick.js/slick/fonts/slick.ttf", 
          "bower_components/slick.js/slick/fonts/slick.woff" 
         ] 
        } 
    } 
    

    Zastępca bower_components dla jakiegokolwiek katalogu instalacyjnego altanki.

  2. Postępuj zgodnie z this pull request.

+0

Po dodaniu "źródeł": {"slick.js": ... command bower-installer przestaje publikować slick.js. Jesteś pewien, że to właściwy format? Próbowałem też zmodyfikować plik bower.json ze slick.js tak, jak zrobiłeś to w poleceniu ściągania, ale nadal nie działa - nie tworzy właściwej struktury folderów. – kape123

+0

@ kape123 Właśnie śledziłem dokumentację instalatora altów ~ https://github.com/blittle/bower-installer#install-multiple-main-files. Wygląda na to, że musisz poprzedzić ścieżkę pliku katalogiem instalacyjnym altru. Zaktualizuję swoją odpowiedź na przykładzie – Phil

+0

tak, jak to ujęłam, kopiuje pliki. Ale ponownie umieszcza je wszystkie w tym samym katalogu - /bower_dist/slick.js/ ... nie tworzy katalogu czcionek. ; ( – kape123

Powiązane problemy