0

これらのチュートリアルを最初2 番目3 番目に試しましたが、バックボーンはまだ機能していません。コンソール出力には、「Uncaught TypeError: Undefined のメソッド 'extend' を呼び出せません」と
表示されます。

index.html
   resources
      js
         b.js
         main.js
         meinmodul.js
      libs
         backbone.js
         jquery-1.7.1.js
         requireJS_2.1.5.js
         underscore.js

index.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<title>test</title>
<!--Require JS -->
<script data-main='resources/js/main' src='resources/libs/requireJS_2.1.5.js'></script</head>
<body>
<div id='wrapper'>
<span>Hallo!</span>
<div id='foo'>foo</div>
</div></body></html>

main.js:

requirejs.config({
paths: {
    framework: '../libs',
    jquery:'../libs/jquery-1.7.1',
    underscore:'../libs/underscore',
    backbone:'../libs/backbone'
},

shim: {
    'underscore': {
        'exports': '_'
    },
    'backbone': {
        'deps': ['jquery', 'underscore'],
        'exports': 'Backbone'
    },
}
});
require(['jquery', 'meinmodul'], function(jq, meinmodul) {
alert('div foo is foo');
$('#foo').html('bar');
});
require(['jquery','backbone','b'], function(jq, Backbone, test) {
console.log("my backbone view");
});

b.js:

define(['jquery','backbone'], function($,Backbone) {
    var SearchView = Backbone.View.extend({

    events: {
        "click": 'savenow'
    },

    initialize: function(){
        console.log("init1");
        console.log($('#testid'));

    },

    savenow: function(){
        console.log("test save method");
    }
});
//return SearchView;
    return {
    'SearchView': SearchView
};
});

私は何を逃したか、何を間違っていますか?

4

1 に答える 1

0

require.config() で baseUrl を見逃したようです。

baseUrl が手動で設定されていない場合、すべての js パスは html パスに基づいています。

http://requirejs.org/docs/api.html#jsfiles

于 2014-02-15T15:47:00.440 に答える