我正在尝试在Backbone项目中使用requirejs-hbs
lib。我在同一个文件夹中有Handlebars
lib和requirejs-hbs
lib。它们在config
中声明为相同。当我查看chrome选项卡中的源代码时,我只收到require-hbs
脚本,我没有收到handlebars
脚本。这是我的配置文件:
require.config({
hbs: {
templateExtension: '.hbs'
},
paths: {
backbone: "libs/backbone/backbone",
Handlebars: 'libs/handlebars/handlebars.amd',
hbs: 'libs/requirejs-hbs/hbs',
jquery: 'libs/jquery/jquery',
underscore: 'libs/underscore/underscore'
},
shim: {
backbone: {
deps: [
'underscore',
'jquery'
],
exports: 'Backbone'
},
underscore: {
exports: '_'
}
}
});
require(['js/router/easier.view'], function(View) {
'use strict';
var view = new View();
});
以下是我尝试访问模板的视图。
define(function(require) {
'use strict';
var Backbone = require('backbone');
var testTemplate = require('hbs!views/test.hbs');
var router = Backbone.View.extend({
render: function() {
debugger;
}
});
return router;
});
我得到的错误是GET http://localhost:9000/handlebars.js 404 (Not Found)
。我有其他我声明的文件,但我没有handlebars.js
。我做错了什么?
答案 0 :(得分:1)
您正在创建Handlebars
的路径,但如果您查看 requirejs-hbs 的来源,则会看到它使用handlebars
。
因此,要么将 requirejs-hbs 来源更改为Handlebars
,要么将路径更改为handlebars
。
应该工作。