0

我正在尝试requirejs-hbs在 Backbone 项目中使用该库。我在同一个文件夹中有Handlebarslib 和lib。requirejs-hbs它们在我的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. 我究竟做错了什么?

4

1 回答 1

1

您正在创建一个路径,Handlebars但如果您查看requirejs-hbs的来源,您会发现它使用handlebars.

因此,要么将requirejs-hbs源更改为,Handlebars要么将路径更改为handlebars.

应该管用。

于 2013-11-06T11:22:40.427 回答