javascript - 使用 require.js 依赖注入(inject)

标签 javascript dependency-injection dependencies requirejs require

我正在尝试制作一个使用 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未定义,但是当我删除所有依赖项时,它在使用Handlebars而不是hb(这是正常方式)?

最佳答案

Handlebars 不符合 AMD/RequireJS 标准。您需要对其进行填充:http://requirejs.org/docs/api.html#config-shim

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

关于javascript - 使用 require.js 依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19618586/

相关文章:

java - 如何通过阅读代码确定 Java 源代码的所有运行时(但不是静态)依赖项?

javascript - 如何在 Javascript 中将 mac 地址转换为 long?

javascript - 新的 myFunction() 与新的 myClass()

c# - DBContext : Getting disposed without calling Dispose(). 未使用 using 语句

c# - 以编程方式检查统一容器类型注册

java - 如何使用 Maven 使用 Selenium 3.4.0 启动 FireFoxDriver?

javascript - 解析之前更改 Meteor.Collection

c# - 意外的 token 非法 - 正则表达式 - MVC 3 JS

php - Guice 类似于 PHP 中的依赖注入(inject)框架

gradle - 你如何排除 gradle 中的传递性项目依赖