【发布时间】:2012-02-21 12:45:32
【问题描述】:
一个新手问题: 我已经从 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 并导航到代码,而无需浏览项目树。
使用这个样板可以吗?有更好的方法或更好的样板吗?
【问题讨论】:
-
_使用这个样板是否可行?_ 我没有使用 IntelliJ,但这听起来不太可能,因为 RequireJS 将您的应用程序解耦,并且“MainView”变量可以是静态分析点的任何内容观点。并且仅在运行时 this 指向实际的 MainView。 _有更好的方法或更好的样板吗?_ 如果你想要 IntelliJ,就不要使用 RequireJS。
-
感谢您的回复,由于代码导航不限于某个IDE,而且是开发阶段需要的功能,所以我很想找到一个解决方案,意思是:保持文件分开并且仍然有对代码的引用。
-
Javascript,至少对我来说,在开发工具方面是一个完整的范式转变。我只使用记事本++。没有自动完成,没有自动错误突出显示,没有重构助手和其他我在使用 C# 等强类型语言时习惯的好东西。在我看来,你越早意识到这一点越好:)。
-
不完全正确,有很多好的 JS IDE,例如 NetBeans ,IntelliJ。它们确实具有自动错误突出显示、重构等功能。但这不是我的问题。我相信可以使用不同的方法来享受这两个世界。
-
请改写你的问题。代码无关紧要,主干无关紧要。您所需要的只是:如何将 IntelliJ 的 X 东西与 require.js 一起使用
标签: javascript backbone.js requirejs boilerplate