我正在尝试编写我的第一个mixin以用于不同的骨干项目,我只是想知道如何命名它们。
总之,窗口。似乎是侵入性的,我无法在项目下命名它们,因为项目名称发生了变化,我不能提供名称空间,因为它们只能在同一个文件中工作。
因此,简而言之,我应该如何组织/命名我的mixins,以便它们可以在整个项目中调用?
干杯...
答案 0 :(得分:1)
标准方法是define a clean AMD-compliant module,然后使用Require.js之类的工具将其加载到Backbone项目中。此方法不会污染全局命名空间。如果您不想使用所有AMD,可以使用Douglas Crockford的书“Javascript,The Good Parts”中所述的模块模式。它使用自调用函数来定义模块,并返回公开的对象(或函数)。但它确实需要一个全局命名空间。该模式的一个很好的文档是here。最简单的形式看起来像这样:
var MODULE = (function () {
var my = {},
privateVariable = 1;
function privateMethod() {
// ...
}
my.moduleProperty = 1;
my.moduleMethod = function () {
// ...
};
return my;
}());