无法将现有Model文件移动到Require.js中

时间:2014-09-03 11:06:49

标签: javascript backbone.js requirejs underscore.js

我已经将项目移动到require现在我试图使用骨干和下划线重新编写一些代码。存在传统的模型,视图,控制器文件。下面是尝试将模型移动到需要定义的开始。

define ("Model", function () {

   var Model = function (connectToServer, soundTypeNum, isMobile)
   {
       //code
   };
return Model;

   // };//Error

  });//Fixed

但是我收到以下错误:

未捕获的SyntaxError:意外的输入结束

编辑:当控制器尝试创建Model的新实例时,我正在获取模型:

var model = new Model(connectToServer);

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我相信require.js必须采用依赖的数组,即使只有一个。还要确保你将依赖关系传递给函数,正如Nit所说。

define(["Model"], function(theModel) {
    var Model = // initialize Model here
    return Model;
});

如果您没有在其他地方启动模型,那为什么它是依赖?如果需要,您可以将空白数组的依赖项传递给require函数:

define([], function() {
    var Model = // initialize Model here
    return Model;
});

我不确定你是如何计划在以后使骨干发挥作用的,以使代码更容易管理"。我认为将模型声明为此文件中的主干模型会更容易。只需将骨干定义为依赖关系并扩展其Model类。

define(["underscore", "backbone"], function(_, Backbone) {
    var Model = Backbone.Model.extend({
        // initialize Model here.
    });
    return Model;
});

希望这有帮助。