2015-07-10 16 views
9

Utilizzo il bower-installer per copiare i file necessari dalla cartella bower_components nella cartella bower_dist. Ecco una parte rilevante del file di bower.json:Come modificare il percorso del bower-installer per un componente

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

Ora, questa è la creazione di cartelle bower_dist e all'interno di esso cartella per ogni componente. Il problema è che all'interno del componente slick.js ho pochi file (eot, svg, ttf, woff) che ho bisogno di avere nella cartella /slick.js/fonts (piuttosto che nella cartella /slick.js/).

Come posso fare? Ho provato a specificare casi speciali per eot, svg, ttf e woff, ma poi viene applicato a tutti i componenti. Inoltre, non voglio introdurre la necessità di specificare tutti i tipi di file (js, css, ecc) ... piuttosto voglio semplicemente configurare un tipo di carattere speciale per slick.js. È possibile farlo?

risposta

2

Questo si è rivelato più difficile di quanto pensassi:

"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" } 
      ] 
     } 
    } 
}, 

ho aggiornato alla nuova versione di slick.js e ora si chiama chiazza di petrolio-carosello in pergolato - basta a spiegare la differenza nel pacchetto nome.

6

Il problema qui sembra essere che slick.js utilizza un modello di glob nella loro bower.json serie main di file che è not supported...

Globs come js/*.js sono non sono ammessi.

Si dovrebbe fare le seguenti ...

  1. Override i file necessari per slick.js nel file bower.json (vedi Install multiple main files e 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" 
         ] 
        } 
    } 
    

    sostituto bower_components per qualunque sia la directory di installazione di Bower.

  2. Seguire this pull request.

+0

Non appena aggiungo "sources": {"slick.js": ... comando bower-installer interrompe la pubblicazione di slick.js. Sei sicuro che sia il formato corretto? Ho anche provato a modificare bower.json da slick.js nel modo in cui lo hai fatto in pull request, ma ancora non funziona - non crea una struttura di cartelle adeguata. – kape123

+0

@ kape123 Stavo seguendo la documentazione del bower-installer ~ https://github.com/blittle/bower-installer#install-multiple-main-files. Sembra che sia necessario prefisso il percorso del file con la directory di installazione di bower. Aggiornerò la mia risposta con un esempio – Phil

+0

sì, quando lo metto in questo modo, copia i file. Ma di nuovo li mette tutti nella stessa directory - /bower_dist/slick.js/ ... non crea directory di font per i font. ; ( – kape123

Problemi correlati