gpt4 book ai didi

javascript - 无法访问 Backbone 路由器

转载 作者:行者123 更新时间:2023-11-28 09:52:01 25 4
gpt4 key购买 nike

我正在使用backbone.js 构建一个单页网站。我使用 require.js 使代码模块化,但在初始化 url 的主干路由器时遇到问题。我使用 require.js 加载主 js 文件,如下所示

enter code here
//App Namespace
var Chrono = Chrono || {};
//App Config Namespace
Chrono.Config = Chrono.Config || {};
//App Views Namespace
Chrono.Views = Chrono.Views || {};

//Config
Chrono.Config = {
url:"http://localhost/chronotech/",
site_url:"http://localhost/chronotech/index.php/",
data_source:"http://localhost/chronotech/assets/datasource/"
};

require.config({
paths : {
'backbone': 'libs/backbone',
'jquery':'libs/jquery.min',
'underscore':'libs/underscore',
'text':'libs/require/text'
},
baseUrl : 'assets/js'
});

require(
['require', 'underscore', 'backbone', 'jquery'],
function(require,_, Backbone, $) {
require(['app'],
function(require) {
} );
} );

app.js 看起来像这样

define(['backbone','routers/workspace'],
function( Backbone,Workspace) {
$(function () {
var space = new Workspace();
} );
} );

路由器文件如下所示

define(['jquery','backbone'],
function($, Backbone) {

var Workspace = Backbone.Router.extend( {
routes: {
"about":"aboutPage",
"team":"teamPage",
"contact":"contactPage",
"work":"portfolioPage",
"products":"productPage"
},
aboutPage : function() {
alert("about");
},

teamPage : function() {
alert("team");
},

contactPage: function() {
alert("contact");
},

portfolioPage : function() {
alert("work");
},

productPage : function() {

}
} );

return Workspace;
} );

当我加载页面时,出现以下错误:“ Uncaught ReferenceError :$未定义”,“未捕获的类型错误:无法读取 null 的属性‘路由器’”。我做错了什么?

最佳答案

define(['backbone','routers/workspace'],
function( Backbone,Workspace) {
$(function () {
var space = new Workspace();
} );
} );

它是一个单独的文件吗?也许您需要加载 jQuery 才能使用 $?

关于javascript - 无法访问 Backbone 路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10812021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com