我有一些使用JavaScript的经验 - 但主要是一些小东西,我以前从来没有在Javascript中做过任何大事。
然而,现在,我正在做一个与javascript相关的大型项目,一个jquery驱动的前端,它通过Ajax发送/接收JSON与服务器端后端通信。
我想知道您是否可以提供一些有关如何处理大型JavaScript项目的有用信息 - 是否有任何有用的工具/图书馆/良好做法?
提前致谢。
答案 0 :(得分:5)
我的一个重要提示是模块化
在JavaScript中,变量很容易破坏其他变量。为了避免这种情况,模块化是必须的。有几种方法可以利用JavaScripts范围规则来最小化可变冲突的可能性。
var myProject = {};
myProject.form = function(p_name, p_method, p_action)
{
var name = p_name,
method = p_method,
action = p_action;
var addInput = function(p_input)
{
// etc...
}
return {
addInput: addInput,
name: name
};
}
myProject.input = function(p_name, p_type, p_value)
{
var name, method, value;
var setValue = function(p_value)
{
value = p_value;
return true;
}
return {
setValue: setValue,
name: name
};
}
// etc...
如果您在使用var
时要小心,并且要跟踪您的功能范围,那么您只有一个全局变量 - myProject
。
要获取新表单对象,您只需执行以下操作:var myForm = myProject.form('form1', 'post', 'post.php')
。
答案 1 :(得分:4)
您可能需要查看 Backbone.js
Backbone供应结构 JavaScript重量级的应用程序 提供具有键值的模型 绑定和自定义事件,集合 具有丰富的可枚举API 函数,具有声明性的视图 事件处理,并将其全部连接到 你现有的申请表 RESTful JSON接口。
答案 2 :(得分:2)
jQuery and YUI 3: A Tale of Two JavaScript Libraries在复杂应用程序的上下文中对它们进行了很好的比较,并为jQuery程序员提供了有用的提示。
答案 3 :(得分:2)
格里戈里,
即使我在几个月前从后端移动到用户界面只能遵循这种方法
如果您还有其他需要,请告诉我
答案 4 :(得分:1)
最好的建议是将代码分割为不同的文件作为“类”。我个人讨厌在一个超过几百行的文件中工作。
然后使用网络上的某个工具汇总和缩小代码,例如Shrinksafe或Google Closure Compiler
请注意,Dojo,YUI和Ext都旨在处理大型Ajax应用程序。你会对jQuery有点挣扎。但我猜这个应用程序并非全部 大而且你应该没问题。
答案 5 :(得分:0)
您是否考虑过结帐MooTools?
MooTools是一款紧凑的模块化Object-Oriented JavaScript framework
,专为中级到高级JavaScript开发人员而设计。它允许您使用优雅,文档齐全且一致的API编写功能强大,灵活且跨浏览器的代码。