2013-10-08 8 views
6

Ho bisogno di un modo per definire i file che mi servono da un componente del bower. In bower.json nel componente i file necessari non sono specificati nell'impostazione main. Mi piacerebbe un modo per simulare o copiare i file in un'altra directory di risorse di directory da Bower. Uso Grunt e non ho trovato nulla che possa aiutare. Mi piacerebbe un modo in cui potrei definire tutti i file tramite json.Symlink o copia file dal componente del pergolato

Ci scusiamo se questo non è interamente stackoverflow degno, ma sono davvero alla disperata ricerca di qualcosa che esiste e non reinventare la ruota.

Ho trovato questo codice here e non so come usarlo. Questo sarebbe l'ideale.

"dependencies": { 
    "font-awesome": ">= 3.2.1" 
}, 
"overrides": { 
    "font-awesome": { 
    "main": [ 
     "css/font-awesome.min.css", 
     "font/FontAwesome.otf", 
     "font/fontawesome-webfont.eot", 
     "font/fontawesome-webfont.svg", 
     "font/fontawesome-webfont.ttf", 
     "font/fontawesome-webfont.woff" 
    ] 
    } 
} 

risposta

10

Ciò che personalmente faccio & raccomandare è creare un file nella root .bowerrc progetto con postinstall istruzioni per spostare le attività:

{ 
    "scripts": { 
    "postinstall": "mv ./bower_components/path/to/my.js ./path/to/ideal/location/my.js" 
    } 
} 
+2

+1 - Interessante (eccetto che 'mv' probabilmente non funzionerà su Windows.) – deizel

4

Dai un'occhiata allo grunt-bower-task. La documentazione suggerisce questo, con l'uso avanzato:

A questo punto di tempo "pacchetto Bower" = "il suo repository git". Significa che il pacchetto include test, licenze, ecc. La community di Bower attivamente discute questo problema (GitHub emette # 46, # 88, su Google Gruppi) Questo è perché è possibile trovare strumenti come blittle/bower-installer che hanno ispirato questo progetto.

Okay, se si desidera più di "principali" file nella directory ./lib poi mettere sezione "exportsOverride" nella bower.json:

{ 
    "name": "simple-bower", 
    "version": "0.0.0", 
    "dependencies": { 
    "jquery": "~1.8.3", 
    "bootstrap-sass": "*", 
    "requirejs": "*" 
    }, 
    "exportsOverride": { 
    "bootstrap-sass": { 
     "js": "js/*.js", 
     "scss": "lib/*.scss", 
     "img": "img/*.png" 
    }, 
    "requirejs": { 
     "js": "require.js" 
    } 
    } 
} 

grugnito-gazebo-task farà il resto.

2

ho usato bower-installer con successo, che potrebbero essere di interesse per quelli che non usano Grunt.

Font Awesome ha richiesto un ulteriore wrestling perché il file CSS utilizza percorsi relativi (ad esempio ../fonts/).

{ 
    "dependencies": { 
    ... 
    }, 
    "install": { 
    "path": "webroot/components", 
    "sources": { 
     "font-awesome": { 
     "mapping": [ 
      {"bower_components/font-awesome/css/font-awesome.css": "font-awesome.css"}, 
      {"bower_components/font-awesome/fonts/fontawesome-webfont.eot": "../fonts/fontawesome-webfont.eot"}, 
      {"bower_components/font-awesome/fonts/fontawesome-webfont.svg": "../fonts/fontawesome-webfont.svg"}, 
      {"bower_components/font-awesome/fonts/fontawesome-webfont.ttf": "../fonts/fontawesome-webfont.ttf"}, 
      {"bower_components/font-awesome/fonts/fontawesome-webfont.woff": "../fonts/fontawesome-webfont.woff"}, 
      {"bower_components/font-awesome/fonts/FontAwesome.otf": "../fonts/FontAwesome.otf"} 
     ] 
     } 
    } 
    } 
} 
Problemi correlati