Pregunta

Una pregunta de Newbe: he descargado la bosqueja de la quietud de https://github.com/david0178418/backbonejs-amd-boilerplate Utiliza requerir.js y me pregunto sobre la navegación del código durante el desarrollo.

Aquí está mi pregunta: digamos que tengo 2 vistas, una extiende la otra como así:

Ver 1:

define([
    'underscoreLoader',
    'backboneLoader',
    'text!templates/main.html'
],
    function (_, Backbone, MainTemplate) {
        "use strict";

        return Backbone.View.extend({
            template:_.template(MainTemplate),

            initialize:function () {
                this.render();
            },

            log:function(msg){
                console.log(msg);
            },

            render:function () {
                this.$el.append(this.template({}));
                return this;
            }
        });
    }
);

Ver 2:

define([
    'underscoreLoader',
    'backboneLoader',
    'text!templates/other.html',
    'views/main-view'
],
    function (_, Backbone, MainTemplate,MainView) {
        "use strict";

        // how would you navigate to MainView (main-view.js) 

        return MainView.extend({
            template:_.template(MainTemplate),

            initialize:function () {
                this.render();
            },

            render:function () {
                this.log("my message");
                this.$el.append(this.template({}));
                return this;
            }
        });
    }
);

Ahora, cuando desarrollar (uso IntelliJ), me gustaría hacer clic en el medio Vista principal en la vista extendida y navegue al código sin tener que explorar el árbol del proyecto.

¿Es eso posible usar esta calderera? ¿Existe un mejor enfoque o una mejor calderera?

¿Fue útil?

Solución 2

Encontré que esto funciona bien para mí: los objetos de la troncal están envueltos con mis objetos personalizados, lo que me permite navegar en código, extender objetos y mantener múltiples archivos fácilmente.

Aquí es cómo:

Objeto 1

function ItemModel() {
    ItemModel.model = (
        Backbone.Model.extend({
            initialize:function () {

            },
            defaults:{
                name:"item name"
            },
            log:function(){
                console.log("inherited method");
            }
        })
        );
    return new ItemModel.model();
}

Objeto 2

function ItemModel2() {
    ItemModel2.model = (
        ItemModel.model.extend({
            initialize:function () {

            },
            defaults:{
                name:"item name2"
            }
        })
        );
    return new ItemModel2.model();
}

Y en mi aplicación:

var App = {
    item:new ItemModel(),
    item2:new ItemModel2()
};

Otros consejos

Realmente me gustaría el navegador de NetBeans para mostrarme todos los métodos:

var New_Controller = Backbone.View.extend({
    el : null, ...
}

Pero parece que no puedo hacer que funcione. A Google se le ocurrió algo para @lends, pero ni siquiera puedo obtener backbone.js para cargarme en el caché de sugerencias de código.

Terminé instalando WebStorm (vi el IDE en todos los tutoriales de Egghead.io) para que el navegador enumere todos los métodos y propiedades.

FYI, Aptana Studio y Zend Studio no mostraron nada como NetBeans. Y Eclipse IDE para los desarrolladores web de JavaScript solo trabajos parcialmente (poco prácticos en la vida real); Aplana toda la jerarquía.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top