如何缓存要用作require.js依赖项的Javascript类?
我想创建一个封装在require.js模块中的javascript类定义,只要该模块作为另一个模块的依赖项列出,就会返回该定义。当类定义有自己的依赖项需要包含在其中时,它会变得很棘手。这是我想出的最好的办法。有更好的办法吗如何缓存要用作require.js依赖项的Javascript类?,javascript,requirejs,Javascript,Requirejs,我想创建一个封装在require.js模块中的javascript类定义,只要该模块作为另一个模块的依赖项列出,就会返回该定义。当类定义有自己的依赖项需要包含在其中时,它会变得很棘手。这是我想出的最好的办法。有更好的办法吗 define( ['js/myDependency'] ,(function() { var myClass = void 0; return function(myDependency) { if(!myClass) {
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的回调函数一次,然后将其结果返回给定义模块的后续请求。这是一样的:
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;
});