2012-06-01 11 views
7

Sto imparando gli strumenti di chiusura di Google scrivendo un semplice gioco JavaScript. Ho difficoltà a capire come configurare jsTestDriver in modo che funzioni bene con la libreria di chiusura.Utilizzo della libreria di chiusura con jsTestDriver

In particolare: mi piacerebbe utilizzare il meccanismo goog.require per includere eventuali file JavaScript aggiuntivi anziché doverli aggiungere manualmente tutti al file di configurazione.

Seguendo il suggerimento di meyertee Ho fatto un semplice script di scrivere automaticamente le dipendenze per un file di configurazione

#!/bin/bash 
cp tests/jsTestDriver.conf.proto tests/jsTestDriver.conf 
libs/closure-library/closure/bin/build/closurebuilder.py --root="./libs/closure-library" --root="./js" --namespace="lds" | sed "s#^# - \.\./#" >> tests/jsTestDriver.conf 

Il file test/jsTestDriver.conf.proto è un modello semplice:

test: 
    - "*.js" 
load: 
    - ../libs/knockout-2.1.0.js 
# Crucial, the load key needs to be last, and this comment must be followed by a newline. 

E ' è una sceneggiatura molto fragile, ma spero che qualcuno (diverso da me) lo troverà utile.

+1

Grazie per aver condiviso la tua soluzione, ho cambiato il mio progetto di usare anche gli script Python (in realtà sto usando calcdeps.py). È meglio che usare il compilatore, perché raccoglie dipendenze che non sono ancora collegate al tuo progetto - meglio per testare il nuovo codice - ed è più veloce. – meyertee

risposta

4

si può fare semi-automatica lasciando Chiusura Compile generare un file manifesto, che sarà in uscita tutti i file nel corretto ordine di dipendenza. È quindi possibile trasformare quel file in percorsi relativi e incollarli nel file di configurazione JsTestDriver. Ecco come lo faccio.
Si potrebbe anche scrivere uno script che esegue questa trasformazione automaticamente.

Questo è l'argomento relativo compilatore:

--output_manifest manifest.MF 

Ci sono alcuni dettagli sulla Closure Compiler's Google Code Wiki

Edit: ci sono anche alcune Python scripts per aiutare a calcolare le dipendenze. È possibile utilizzare calcdeps.py o closingbuilder.py per generare un file manifest, che include anche i file che non sono stati "richiesti" dal codice.

Problemi correlati