使用require.js依赖注入

时间:2013-10-27 13:28:59

标签: javascript dependency-injection dependencies requirejs require

我正在尝试创建一个使用jQuery和Handlebars的模块

这是主文件:

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

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

这是app文件:

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

    $(function() {

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

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

1 个答案:

答案 0 :(得分:2)

把手不符合AMD / RequireJS标准。您需要shimhttp://requirejs.org/docs/api.html#config-shim

  shim: {
    handlebars: {
      exports: 'Handlebars'
    },
  }