2012-06-01 14 views
7

Estoy aprendiendo acerca de las herramientas de cierre de Google escribiendo un simple juego de JavaScript. Tengo problemas para descubrir cómo configurar jsTestDriver para que funcione bien con la biblioteca de cierre.Uso de la biblioteca de cierre con jsTestDriver

Específicamente: me gustaría utilizar el mecanismo goog.require para incluir cualquier archivo JavaScript adicional en lugar de tener que agregarlos manualmente al archivo de configuración.

Siguiendo la sugerencia de meyertee hice un script sencillo para escribir automáticamente las dependencias de un archivo de configuración

#!/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 

El archivo de pruebas/jsTestDriver.conf.proto es una plantilla simple:

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. 

Se es un guión muy frágil, pero espero que alguien (que no sea yo) lo encuentre útil.

+1

Gracias por compartir su solución, también he cambiado mi proyecto para usar las secuencias de comandos de Python (en realidad estoy usando calcdeps.py). Es mejor que usar el compilador, ya que recoge dependencias que aún no están vinculadas a su proyecto, mejor para probar el nuevo código, y es más rápido. – meyertee

Respuesta

4

usted puede hacerlo de forma semiautomática dejando Cierre Compilar generar un archivo de manifiesto, que dará salida a todos los archivos en el orden correcto de la dependencia. A continuación, puede transformar ese archivo en rutas de acceso relativas y pegarlas en el archivo de configuración de JsTestDriver. Así es como lo hago.
Incluso podría escribir un script que realice esta transformación automáticamente.

Este es el argumento compilador relevante:

--output_manifest manifest.MF 

Hay algunos detalles sobre la edición Closure Compiler's Google Code Wiki

: Hay también algunos Python scripts son que ayuda a calcular las dependencias. Puede usar calcdeps.py o closurebuilder.py para generar un archivo de manifiesto, que incluso incluye archivos que no han sido 'requeridos' por su código.

Cuestiones relacionadas