简体   繁体   English

RequireJS BackBone未定义

[英]RequireJS BackBone is undefined

i tried these tutorials first and second and third but backbone is still not working. 我在第一第二第三次尝试了这些教程,但主干网仍然无法正常工作。 The console output says: "Uncaught TypeError: Cannot call method 'extend' of undefined" 控制台输出说: “未捕获的TypeError:无法调用未定义的方法'extend'”
The folder structure is: 文件夹结构为:

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: 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: 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: 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
};
});

What did i miss or what i am doing wrong? 我错过了什么或我做错了什么?

It seems you missed baseUrl in require.config(). 似乎您错过了require.config()中的baseUrl。

If baseUrl is not set manually, all js paths are based on html path. 如果未手动设置baseUrl,则所有js路径均基于html路径。

http://requirejs.org/docs/api.html#jsfiles http://requirejs.org/docs/api.html#js文件

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM