0

我是 RequireJS 的新手,我只是通过以下配置代码;

({
    appDir: "../",
    baseUrl: "js",
    dir: "../../appdirectory-build",
    paths: {
      jquery: 'libs/jquery/jquery-1.8.2',
      underscore: 'libs/underscore/underscore-1.4.4',
      backbone: 'libs/backbone/backbone-0.9.10',
      templates: '../templates',
      app: 'app'
    },

    shim: {
      underscore: {
        exports: '_'
      },
      backbone: {
        deps: ["underscore", "jquery"],
        exports: "Backbone"
      }
    },
    modules: [
        {
            name: "main"
        }
    ]
})

我不明白“垫片”到底是做什么用的?有人可以简单地解释一下我。

4

1 回答 1

2

您可以使用 shim 配置定义非模块化旧脚本。非模块化是指那些没有使用define()声明依赖关系的脚本。因此,在上述示例的 shim 配置中,您提到加载下划线并将其导出为“_”,这意味着当加载下划线时,可以在应用程序中使用 _ 访问它。对于主干,这意味着在加载主干之前,shim 应确保在主干之前加载下划线和 jquery。因为 underscore 和 jquery 是主干的依赖关系,所以 shim 正在帮助管理非模块化脚本的依赖关系。加载主干后,将其导出为应用程序中的“主干”。

于 2013-06-05T09:29:55.590 回答