0

我正在尝试制作一个使用 jQuery 和 Handlebars 的模块

这是主文件:

require(['app', 'jquery', 'handlebars' ], function (app, $, handlebars) {

    console.log('Running jQuery %s', $().jquery);
});

这是应用程序文件:

define(['jquery', 'handlebars'], function ($, hb) {

    $(function() {

        var source   = $("#some-template").html();
        var template = hb.compile(source);
        var data = {...});
});

为什么会这样说hb is not defined,但是当我删除所有依赖项时,它在使用Handlebars而不是hb(这是正常方式)时起作用?

4

1 回答 1

2

Handlebars 不兼容 AMD/RequireJS。您将需要shim它:http ://requirejs.org/docs/api.html#config-shim

  shim: {
    handlebars: {
      exports: 'Handlebars'
    },
  }
于 2013-10-27T13:41:45.097 回答