如何编写AMD兼容的JavaScript类

How to write AMD compatible JavaScript classes?

本文关键字:JavaScript 何编写 AMD      更新时间:2023-09-26

编写与AMD兼容的JavaScript类作为模块化应用程序的一部分的最佳方法是什么?

我通常使用singleton方法编写类。除非有一些技巧可以让它与AMD一起工作,否则这似乎是不兼容的。

好吧,我们使用AMD,并且我们的大多数文件都是singleton。实际上,我们并没有真正声明一个"类"只能使用一次(singleton)——我们专门定义了一个对象实例,尽管对一些人来说这只是技术上的区别。这里有一个例子:

// mylib.js
define(["otherlib"],
function(otherlib) {
return {
  doThing: function() {
    return otherlib.action("thing");
  }
};
});

如果你想知道:要求这个文件7次实际上每次都会返回相同的对象——它不会被重新创建。