используя шаблон Backbone JS и навигацию по коду - PullRequest
0 голосов
/ 21 февраля 2012

новый вопрос: я скачал базовый шаблон с https://github.com/david0178418/BackboneJS-AMD-Boilerplate, который использует require.js, и меня интересует навигация по коду во время разработки.

Вот мой вопрос: допустим, яесть 2 вида, один расширяет другой, вот так:

Вид 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;
            }
        });
    }
);

Вид 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;
            }
        });
    }
);

Теперь, когда я разрабатываю (я использую IntelliJ), яхотел бы щелкнуть средней кнопкой MainView в расширенном представлении и перейти к коду без необходимости просматривать дерево проекта.

Возможно ли это с помощью этого шаблона?Есть ли лучший подход или лучший шаблон?

Ответы [ 2 ]

1 голос
/ 13 ноября 2013

Мне бы очень хотелось, чтобы навигатор Netbeans показал мне все методы:

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

Но я не могу заставить его работать.Google что-то придумал для @lends, но я даже не могу загрузить Backbone.js в кэш подсказок кода.

В итоге я установил WebStorm (я видел IDE во всех egghead.ioучебники), чтобы получить в навигаторе список всех методов и свойств.

FYI, Aptana Studio и Zend Studio не показали ничего подобного Netbeans.И Eclipse IDE для веб-разработчиков JavaScript работает только частично (непрактично в реальной жизни);это выравнивает всю иерархию.

0 голосов
/ 26 февраля 2012

Я нашел, что это работает нормально для меня: Базовые объекты обернуты моими пользовательскими объектами, что позволяет мне перемещаться по коду, расширять объекты и легко сохранять несколько файлов.

Вот как:

Объект 1

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

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

Объект 2

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

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

и в моем приложении:

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