This question already has an answer here:
requirejs - what export exactly do here?
                            
                                (1个答案)
                            
                    
                6年前关闭。
        

    

我是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"
        }
    ]
})


我不明白“垫片”的确切用途是什么?
有人可以简单地向我解释一下。

最佳答案

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

09-25 18:14