如何编写与AMD兼容的JavaScript类?
编写AMD兼容JavaScript类作为模块化应用程序的一部分的最佳方法是什么如何编写与AMD兼容的JavaScript类?,javascript,amd,Javascript,Amd,编写AMD兼容JavaScript类作为模块化应用程序的一部分的最佳方法是什么 我通常使用单例方法编写类。除非有什么诀窍可以让它与AMD一起工作,否则它看起来是不兼容的。好吧,我们使用AMD,我们的大多数文件都是单例文件。实际上,我们并没有真正声明一个“类”只能使用一次(单例)——我们专门定义了一个对象实例,尽管对某些人来说这只是技术上的区别。下面是一个例子: // mylib.js define(["otherlib"], function(otherlib) { return { d
我通常使用单例方法编写类。除非有什么诀窍可以让它与AMD一起工作,否则它看起来是不兼容的。好吧,我们使用AMD,我们的大多数文件都是单例文件。实际上,我们并没有真正声明一个“类”只能使用一次(单例)——我们专门定义了一个对象实例,尽管对某些人来说这只是技术上的区别。下面是一个例子:
// mylib.js
define(["otherlib"],
function(otherlib) {
return {
doThing: function() {
return otherlib.action("thing");
}
};
});
如果您想知道:需要这个文件7次,实际上每次都会返回相同的对象—它不会被重新创建。我刚刚遇到UMD()。它提供了几个如何添加AMD/CJS兼容性的示例(从野外汇总)。常见的主题似乎是调用一个工厂方法(可以根据环境动态选择),然后传入一个“正常”的IIFE。优秀的示例列表!谢谢