requireJS:definining类用作全局变量

时间:2011-12-15 23:43:16

标签: jquery require requirejs

我出于某种原因(看过各种其他问题)似乎无法理解RequireJS

一些背景知识:

  • 我正在使用jquery(所以没有Node.js自动构建东西)
  • 我正在使用客户端mVC lib库(spine.js),作为其设置的一部分,在我的例子中,require("Avail")深入其代码。
  • 'Avail'是一个javascript类,全局显示为window.Avail

我收到了错误消息

Uncaught Error: Module name 'Avail' has not been loaded yet for context: _ http://requirejs.org/docs/errors.html#notloaded

我知道它没有加载但是怎么做?当我的应用程序启动时,有没有办法告诉requireJS在默认上下文“_”下注册“Avail”?

我已经尝试了下面的几件事(有很多变化,但是我无法让它工作):

    (function() {   
       define("Avail", [],function(){
           return window.Avail
       });
     })();

非常感谢。谢谢。

1 个答案:

答案 0 :(得分:0)

事实证明,尽管它的代码中的Spine.js已经对'models / Avail'提出了要求,但我还是必须在'models / Avail'上做自己的要求。

file:spine.models.coffee

class Avail extends Spine.Model
@configure 'Avail'

define "models/Avail", ->
  Avail

file:main.html

  require(["jquery","models/Avail"], function($) {
    $(function() {
       new Spine.App();
    })
  });