• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

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

JavaScript 来源:WSkinner 3次浏览

我想创建一个包裹在一个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; 
}); 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)