2012-09-08 15 views
7

Ho molti snippet JS e file condivisi tra più progetti. Devo o copiarli in un unico file per ogni progetto o servirli come singoli file su cdn. Entrambe sono idee sbagliate.Strumento di gestione delle dipendenze e build per JavaScript

Esiste uno strumento di gestione delle dipendenze e di configurazione come Maven per JavaScript? Idealmente ci vorrebbe una serie di dipendenze js e costruire un singolo file js che può essere servito su cdn.

Posso scrivere uno script per farlo. Ma sto cercando di scoprire se qualcosa di simile a Maven esiste per JS.


Aggiornamento 2014: Sulla base di risposte qui e la mia ricerca seguenti sono strumenti più popolari:

Bower, NPM, RequireJS, Browserify, Webpack, Grunt, Gulp

risposta

5

C'è RequireJS, ma questo è il tipo di una cosa diversa da Maven, e quello che chiedi di fare è diverso da Maven. Ci sono un numero qualsiasi di combinatori/minificatori JS, come jekyll-combiner e altri zillion.

Se si è utilizzando Maven, il JavaScript Maven Tools potrebbe essere di interesse. Se non lo sei, non conosco un modo unificato per specificare, scaricare, combinare, ecc. Per sistemi di compilazione arbitrari. Alcuni elementi di node.js potrebbero essere utili, ma non l'ho mai usato al di fuori di un contesto node.js, quindi non ne sono sicuro.

+0

Grazie, nessuno di essi combina/crea più file in uno solo al momento della compilazione? –

+0

@JohnS Che cosa significa "al momento della compilazione"? Come stai costruendo? Ho usato i combinatori di Maven in fase di costruzione. –

+0

Quale combinatore hai usato con Maven, quale pensi sia meglio? E c'è qualcuno di loro che accetta le dipendenze come Maven invece del percorso del file? –

3

Dai uno sguardo allo grunt. È uno strumento di compilazione molto flessibile per progetti javascript. Utilizzato dal team di jquery e da altri grandi progetti. Combina, minimizza, prova, filtra i file js, scritto in javascript, ha dozzine di plugin per quello che vuoi

4

http://webjars.org/ pacchetti librerie JS come file JAR e li rende disponibili sotto Maven.

RequireJS non è un sostituto di WebJars; lo completa. RequireJS utilizzerà i file JS pubblici (su CDN) in fase di esecuzione, mentre Webjars scaricherà i file necessari in fase di build e li ospiterà personalmente.

Poiché la maggior parte dei file JS non è ospitata su CDN, utilizzo Webjars per scaricare i file JS necessari in fase di produzione e li riferimento utilizzando RequireJS. In questo modo ottengo il meglio di entrambi i mondi.

+1

WebJars sono solo file zip con tutte le risorse statiche ripulite. Mi piace molto, ma le persone continuano a sottovalutare Maven per risolvere le loro dipendenze lato client. Non sono sicuro del perché :-(Molto meglio ed elegante dell'usare bower e scaricare l'intero pessimo repository IMO di GitHub. – aruizca

+0

Ho fatto la mia scelta per WebJars. Ho visto [poche altre opzioni] (http: //centurion.nfors.com/w/programming/javascript/start # javascript_and_maven), ma ha trovato WebJars più facile da iniziare. –

Problemi correlati