我正在与RequireJs合作,对它不熟悉。我有一个现有的项目和JavaScript代码,现在我将该代码更改为要在RequireJS中使用的模块。我的项目中使用了许多第三方API,例如Bootstrap,JQuery和slickgrid等,它们都是非AMD(异步模块定义)的。我知道需要使用shim命令加载非AMD Js文件

requirejs.config({
baseUrl: 'js/lib',
paths: {
    app: '../app'
},
shim: {
    backbone: {
        deps: ['jquery', 'underscore'],
        exports: 'Backbone'
    },
    underscore: {
        exports: '_'
    }
  }
});


但我不知道补片的工作原理及其好处。我们不能简单地像标记一样以常规方式包含这些js文件吗?谁能解释一下它是如何工作的。我也想用shim命令加载非AMD文件,如何加载它们?我的js文件彼此依赖,所以我需要编写命令

 deps: ['file1', 'file2']


shim命令中的每个文件?这将非常复杂,因为我有20多个JS文件。有什么更好的方法吗?请让我知道我是否缺少某些东西或我错了。我将非常感谢您的支持。

最佳答案

这是一个非常普遍的疑问,在您的情况下,您需要在路径配置中包含Jquery,Underscore和Backbone,以使用从require将加载JS文件的位置指定。
然后,在Shim块中,您可以指定依赖项以及如何在应用程序(导出)中使用它。

要了解填充程序的工作原理,建议您阅读本文-http://aaronhardy.com/javascript/javascript-architecture-requirejs-dependency-management/

或require JS网站。

http://requirejs.org/docs/api.html#config-shim

希望能帮助到你。

09-28 03:31