2012-02-01 12 views
5

¿Es posible utilizar v1.6.1? Debido a la configuración de Xdomain de la implementación dojo de mi cliente, es necesario ejecutar una nueva compilación cada vez que cambia el código dev. Como se puede imaginar, esta es una gran pérdida de tiempo.compilación DOJO que no incluye la base DOJO

De todo lo que puedo ver no hay forma de eximir el núcleo de la compilación que juega con las reglas de DOJO. Entonces, me pregunto si hay una manera de romper las reglas (¿modificar las llamadas de Rhino?) Para llegar a donde tengo que estar.

Respuesta

2

Un par de pensamientos.

  1. Puede evitar la construcción de la mayor parte de dojo (dijit, dojox) pero usted imaginar ya saben que
  2. Esta restricción se enfrentan parece extraño. ¿No hay alguna forma en que puedas subir los archivos JS específicos que estás editando durante el desarrollo?

Tal vez si proporciona más detalles sobre la configuración del cliente, puedo ayudarlo a pensar en una solución a este problema.

actualización Esto es lo que creo que es necesario: Customize Dojo Base in Build. Esto le permite especificar partes particulares de la base dojo para incluir.

Esto funciona en pre-1.7, por lo que debe ser bueno.

parece ser exactamente lo que quiere:

layers: [ 
    { 
     name: "dojo.js", 
     customBase: true, 
     dependencies: [ 
     ] 
    }, 

// ... remainder of profile 

] 

esto le dará el mínimo absoluto del dojo (que todavía no es necesario para su escenario dev, pero que reducirá drásticamente la cantidad de archivos procesados).

Para otros casos de uso, puede usar el atributo dependencies para agregar otras cosas desde el núcleo de dojo.

Actualización 2: Aquí hay un par de sugerencias de optimización en tiempo de compilación:

1) Haga cadenas no pasante, y no se comprimen, cuando en prog. Hay valores arg se pueden pasar para evitar estos pasos que consumen mucho tiempo (por ejemplo, es de construcción Ant):

<arg value="internStrings=false"/> 
<arg value="layerOptimize=false"/> 

2) Construir a un disco RAM para acelerar la copia de archivos

+0

Gracias por los comentarios mtyson. Para completar esto un poco más, esta aplicación es muy grande y tiene al menos 15 equipos diferentes de 4 a 10 personas trabajando en ella.Como resultado, el cliente eligió segregar el código dojo en un servidor separado del servidor de presentación. Entonces, todo en la aplicación es Xdomain. –

+0

Entonces, incluso para el desarrollador, ¿tiene que implementar la aplicación en sí misma y la base de código JS en diferentes dominios? Y lo que necesita es la capacidad de permitir que un desarrollador cree la menor cantidad posible (eso incluye el bit en el que están trabajando), para que puedan obtener la versión xdomain y probarla ... pensando ... – mtyson

+0

Ok, actualizado la respuesta, creo que encontré algo que funcionará para ti. – mtyson

1

Dojo soporta fresa- e-match - para que pueda usar xdomain y/o custom build para las cosas que no cambian - y use dojo.require regular para el JS/widget que está cambiando a menudo - y luego presione ese JS para ver el cambio sin un nuevo xdomain/custom build/deployment

Puede explore using local modules with xdomain build. Además, Dojo permite el uso de múltiples compilaciones personalizadas, por lo que puede hacer una compilación personalizada estable para los widgets que no cambian tanto y otra compilación más pequeña para el código que está cambiando con frecuencia.

+0

Gracias Vijay. Lo que realmente necesito hacer es encontrar una forma de crear una compilación que excluya completamente la base dojo. Sé que esta no es la forma en que funciona el proceso de compilación, así que estoy buscando un "problema" si es que hay uno. –