如何缓存Javascript类作为require.js依赖项?

我想创建一个包裹在一个require.js模块中的javascript类定义,只要该模块被列为另一个模块的依赖项,就会返回它。当类定义具有它自己的依赖关系时,它会变得棘手,需要用它来包含它。这是我提出的最好的方法。有没有更好的办法?如何缓存Javascript类作为require.js依赖项?

define(

['js/myDependency']

,(function() {

var myClass = void 0;

return function(myDependency) {

if(!myClass)

{

myClass = function MyClass(color) {

this.state = 0;

this.color = color;

}

MyClass.prototype.inputSomething = function(input) {

this.state = myDependency.handleInput(input);

}

}

return myClass;

}

})()

);

回答:

经过一番研究,我发现我的解决方案不必要的复杂。 Require.js只调用传递的回调来定义一次,然后将其结果返回给定义模块的后续请求。这个作品是一样的:

define(['js/myDependency'], function(myDependency) { 

function MyClass(color) {

this.state = 0;

this.color = color;

}

MyClass.prototype.inputSomething = function(input) {

this.state = myDependency.handleInput(input);

}

return myClass;

});

以上是 如何缓存Javascript类作为require.js依赖项? 的全部内容, 来源链接: utcz.com/qa/261606.html

回到顶部