Utilizzo della backbone JS Boilerplate & Code Navigation
-
28-10-2019 - |
Domanda
Una domanda di Newbe: ho scaricato la piastra della spina dorsale https://github.com/david0178418/backbonejs-amd-boilerplate Utilizza Requisite.js e mi chiedo la navigazione del codice durante lo sviluppo.
Ecco la mia domanda: diciamo che ho 2 visualizzazioni, uno estende l'altro in questo modo:
Visualizza 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;
}
});
}
);
Visualizza 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;
}
});
}
);
Ora quando lo sviluppo (uso Intellij) vorrei fare clic su Middle MainView Sulla vista estesa e navigare al codice senza dover navigare sull'albero del progetto.
È possibile usando questa piastra della caldaia? Esiste un approccio migliore o una piastra di caldaia migliore?
Soluzione 2
Ho trovato questo per funzionare bene per me: gli oggetti della spina dorsale sono avvolti dai miei oggetti personalizzati, che mi consente di navigare sul codice, estendere gli oggetti e mantenere facilmente più file.
Ecco come:
Oggetto 1
function ItemModel() {
ItemModel.model = (
Backbone.Model.extend({
initialize:function () {
},
defaults:{
name:"item name"
},
log:function(){
console.log("inherited method");
}
})
);
return new ItemModel.model();
}
Oggetto 2
function ItemModel2() {
ItemModel2.model = (
ItemModel.model.extend({
initialize:function () {
},
defaults:{
name:"item name2"
}
})
);
return new ItemModel2.model();
}
E nella mia app:
var App = {
item:new ItemModel(),
item2:new ItemModel2()
};
Altri suggerimenti
Vorrei davvero che il navigatore di Netbeans mi mostrasse tutti i metodi:
var New_Controller = Backbone.View.extend({
el : null, ...
}
Ma non riesco a farlo funzionare. Google ha escogitato qualcosa per @Lends, ma non riesco nemmeno a ottenere la spina dorsale.js per essere caricato nella cache dei suggerimenti del codice.
Ho finito per installare Webstorm (ho visto l'IDE in tutti i tutorial Egghead.io) per convincere il navigatore a elencare tutti i metodi e le proprietà.
FYI, Aptana Studio e Zend Studio non hanno mostrato nulla come Netbeans. E Eclipse IDE per gli sviluppatori Web JavaScript solo parzialmente (poco pratiche nella vita reale); Appiattona l'intera gerarchia.