2012-03-15 16 views
12

He estado trabajando con las guías en línea de EmberJS, y ha sido algo así como un proceso de éxito o fallo. Con Sproutcore2 podría generar la estructura del directorio del proyecto a través del comando commandline y terminarlo. Bueno, con Ember, es bastante manual. Me gustaría poder configurar la estructura del director de un proyecto, donde puedo separar los modelos, las vistas y los controles en sus propias carpetas. He estado tratando de hacerlo, pero las instrucciones requeridas no se importan correctamente desde las carpetas de MVC. He descargado la aplicación "todos", pero no sirve de nada, porque la estructura del directorio no se muestra como esperaba.¿Configurando la estructura del directorio del proyecto EmberJS?

Me gustaría comenzar con una aplicación simple "HelloWorld" donde la "aplicación" será mi fachada, y luego puedo importar mis modelos, vistas y controles de sus carpetas que se colocarán en la carpeta mvc dentro del " Carpeta HelloWorldApp ". Aprecia toda tu ayuda.

HelloWorldApp (directorio del proyecto)
    -> js (directorio)
    -> lib (directorio)
                      -> brasa-0.9. 5
                      -> brasa-0.9.5.min
                      -> jquery-1.6.1.min

    -> plantilla (directorio)
                    -> principal-vista-plantilla

    -> MVC (directorio)
            -> modelo (directorio)
            -> Vista (directorio)
            -> Control (directorio)

    -> css (directorio)

aplicación (app.js)
index.htm

Respuesta

-3

Después de probar diferentes enfoques, terminé declarando todos mis modelos, vistas y controladores en el archivo de índice justo después de llamar al ember-0.9.5 a través de javascript. Una vez que hice eso, pude crear una instancia de mi modelo "Persona" en "aplicación".

Thx.

+2

Oh no, eso va a ser horrible para una aplicación grande. Puede declararlos en carpetas bajo el directorio 'app/lib'. Simplemente no olvides usar 'require()' para asegurarte de que todo esté construido en el orden correcto. –

+0

Roy, hizo eso y luego probó de otras maneras. No funciona al declararlos en carpetas en "aplicación/lib". Si repasas mi pregunta, he afirmado que la declaración "require" no está importando los "packages/namespaces". Y estoy de acuerdo contigo ... incluirlos en el archivo de índice es una manera horrible. – Combustion007

+0

Combustión, tengo curiosidad si has encontrado una mejor manera de hacer esto ahora. Si es así, ¿te importaría publicar más al respecto? Estoy comenzando con el ascua (y las aplicaciones web en general), y es mucho para tragar a la vez: se agradece cualquier información. – iX3

8

Tome un vistazo a la temprana alfa del Ember construir herramientas plantilla de estructura (basada en Ember-Skeleton): https://github.com/emberjs/ember-gem/tree/master/lib/ember/templates/app. Me imagino que algo muy cercano a esta estructura será el predeterminado avanzar.

+0

Roy, gracias por el enlace, he pasado una buena parte de mi día pasando por este recurso, ahora estoy tratando de averiguar dónde está enterrada la fachada en todo este código. Hubiera sido agradable tener algún tipo de demostración disponible en la documentación en línea de EmberJS. – Combustion007

+1

Cuando la aplicación se crea como una propiedad global, también se crea 'App.stateManager'. Tiene un estado de inicio inicial, 'App.StartState', que es un ViewState. Los ViewStates son como estados normales, excepto que tiene la característica adicional de que cuando ingresa y sale de un ViewState, agregará automáticamente cualquier 'Ember.View' que esté definido en su propiedad' view'. Por lo tanto, en la plantilla anterior, la propiedad de vista tiene una vista definida con una plantilla, 'main_page'. Esa plantilla contiene la plantilla inicial que se muestra. Si necesita ejecutar cualquier código al inicio, en main.js agregue 'MyApp.ready = function() {//..init code goes here ...}' –

+0

Roy, muchas gracias por la explicación. Antes de tu último comentario, ni siquiera sabía nada sobre "estados". Sin embargo, sí sé cómo funcionan los "estados", tengo una larga historia con "Adobe Flex". Tengo que preguntarte esto, ¿por qué no se menciona "estados" o cualquier código de demostración en la documentación en línea de EmberJs? Creo que es una forma bastante pobre de introducir un marco sin la documentación adecuada en línea, ya sea que se trate de una fuente abierta o no. Ahora, con respecto a lo que compartiste en tu último comentario, ¿sería posible que "jsfiddle" algún código para que pueda tener una idea? – Combustion007

Cuestiones relacionadas