我有一个与使用RequireJs的方式有关的问题。 我们的应用程序应该在附近的功能中增长很多,因此主要问题是准备一个框架,参与项目的开发人员将遵循该框架。
我们在RequireJS上尝试了这种包装(尝试强制执行OOP方法):
//each file will contains such a definition
//this file should be located under: appNamespace/Client/Widget.js
//attaching the class definition to the namespace
with ({public : appNamespace.Client})
{
//using a Class defined in the file: appNamespace/DomainModel/DataTable.js
var dt = using('appNamespace.DomainModel.DataTable');
//Class definition
public.Widget = function(iName)
{
//private variable
var dSort = new dt.SortableTable();
this.Draw = function(iRegion)
{
//public method implementation
}
}
}
或者,我们可以使用自然的RequireJS模型,如结构:
<pre><code>
//this module definition should be located in the file: appNamespace/Client/Widget.js
define('appNamespace/DomainModel/DataTable', function(dt)
{
function Widget(iName)
{
//private variable
var dSort = new dt.SortableTable();
this.Draw = function(iRegion)
{
//public method implementation
}
}
return Widget;
})
我更喜欢第一个例子,因为:
那么 - 为什么我会使用第二个例子 - 自然的RequireJS模型风格? 有什么我想念的吗?
欢迎任何建议