gpt4 book ai didi

javascript - 如何将 Handlebars 与 RequireJS 一起使用

转载 作者:太空宇宙 更新时间:2023-11-04 15:49:32 25 4
gpt4 key购买 nike

我遇到了以下错误:

Uncaught TypeError: Cannot call method 'compile' of undefined.

RequireJS 配置:

requirejs.config({
baseUrl: "resources",
paths: {
'app':'lib',
'jquery': 'lib/jquery-1.9.1',
'bootstrap': 'lib/bootstrap',
'html5shiv': 'lib/html5shiv',
'spin': 'lib/spin',
'respond': 'lib/respond',
'underscore': 'lib/underscore',
'backbone': 'lib/backbone',
'handlebars': 'lib/handlebars-v3.0.3',
'template': 'app/templates'
},
shim: {
html5shiv: {
deps: ['jquery']
},
respond: {
deps: ['jquery']
},
bootstrap: {
deps: ['jquery']
},
jquery: {
exports: '$'
},
underscore: {
exports: '_'
},
backbone: {
deps: ['jquery', 'underscore'],
exports: 'Backbone'
},
handlebars: {
exports: "Handlebars"
}
}
});

require([
'jquery',
'underscore',
'backbone',
'handlebars',
'app/Router'
], function($,
_,
Backbone,
Handlebars,
Router) {
var router = new Router();
Backbone.history.start();
});

查看:

define([
'backbone',
'handlebars',
'text!templates/mytemplate.html'
], function(Backbone, Handlebars, Template){

MyView = Backbone.View.extend({
tagName: 'li',
template: Handlebars.compile(Template),

render: function() {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});

return MyView;
});

最佳答案

shim 适用于不支持 AMD 的库。您使用的 Handlebars 版本可能支持 AMD,并且没有定义名为 Handlebars 的全局变量。因此你会得到错误。尝试从 shim 中删除 handlebars 配置。

关于javascript - 如何将 Handlebars 与 RequireJS 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43257467/

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