0

アプリで「require.js」を使用していますが、このエラーが発生します:

ReferenceError: Can't find variable: appModel
require.js:32Error: Load timeout for modules: listView

私は自分の側の何が悪いのか理解できません:

私の設定は:

requirejs.config({
    baseUrl:"scripts",
    paths:{
        //libraries
        jquery          :"lib/jquery-1.9.0.min",
        jqueryUI        :"lib/jquery-ui-1.9.2.custom.min",
        underScore      :"lib/lodash-1.0.0.min",
        backBone        :"lib/backbone-min",
        //scripts
        appInit         :"js/tasklist",
        loginValidate   :"js/loginValidate",
        listModel       :"js/models/listModel",
        listCollection  :"js/collections/listCollection",
        listView        :"js/views/listView"
    },
    shim:{
        "underScore":{
            exports: "_"
        },
        "backBone":{
            exports:"Backbone",
            deps:["underScore"]
        },
        "appInit" : {
            deps:["jquery","jqueryUI","underScore","backBone"]
        },
        "jqueryUI":{
            deps:["jquery"]
        },
        "loginValidate":{
            deps:['jquery']
        },
        "listModel":{
            exports:"listModel",
            deps:["backBone"]
        },
        "listCollection":{
            exports:"listCollection",
            deps:["listModel"]
        },
        "listView":{
            exports:"listView",
            deps:["listModel","listCollection"]
        }
    }
});

require(['jquery'],function(){
    if($('#tlLoginForm').length){
        require(["jquery","loginValidate"],function($){
            $(function(){
                var paramsLoginForm = {
                        loginForm : $('#tlLoginForm')
                    };
                var validate = tasklistHandler(paramsLoginForm);
                validate.init(); //it works fine.
            });
        });
    }
    if($("#boardTemplate").length){ // i am finding my template and initiating the values
        require(["backBone","listModel","listCollection","listView"], function(){

        });
    };
});

listModel.jsの私のモデル

require(['jquery','backBone'],function($,Backbone){ // i am importing jquery, and backbone and assigning the model
var appModel = Backbone.Model.extend({
        url : 'data/data.json',
        defaults:{
          "id"                  :"id",
          "title"               :"Title",
          "projectName"         :"project",
          "dueDays"             :0,
          "dueTime"             :0,
          "dueDate"             :"0-0-0000",
          "totalTasks"          :0,
          "taskCompleted"       :0,
          "percent"             :65,
          "taskStatus"          :"Assigned",
          "jobtype"             :"vip",
          "username"            :"scott.pierce@groupfmg.com",
          "notes"               :"notes1"
        }  
      });

      return appModel; // tried not works
});

listCollection.jsの私のコレクション

define(["jquery","backBone","listModel"],function($,Backbone,model){ 

// listModel.jsで宣言したjquery、バックボーン、モデルをインポートしていますが、機能しません!console.log('コレクション'、モデル); //モデルの未定義を取得していますvarcollection= Backbone.Collection.extend({model:model、initialize:function(){console.log(this.model);}});

    var newModel = new appModel; //ReferenceError: Can't find variable: appModel
    console.log(newModel); // throw the error as like i mentioned.
});

誰かが私の問題を修正するのを手伝ってくれますか?

4

1 に答える 1

0

これは私のために働きます。

使用する代わりに"require"私は使用し"define"ました。今はすべてうまく設定されています。

皆さんありがとう。

于 2013-02-06T05:02:26.723 に答える