剂量requirejs需要所有JS文件来支持AMD

时间:2013-01-03 13:37:53

标签: requirejs amd

我很少阅读requireJS并尝试理解它。

我想知道的事情:

  1. 我应该以特定的方式或模式构建我的文件,如Module-Pattern ??
  2. 使用库时,这些文件应该支持AMD吗?
  3. 非常感谢你的帮助。

2 个答案:

答案 0 :(得分:1)

  1. 您可以按照自己认为合适的方式构建文件。在加载require.js的脚本标记的data-main属性中引用RequireJS loads the script file。从该文件中,您可以自由地要求任何您想要的模块。

  2. 图书馆不需要来支持AMD。您可以使用shim config加载将值导出到全局范围的模块(即普通的javascript文件)。

答案 1 :(得分:0)

主要是我正在设置一个 require.js 项目,结构如下:

    • JS
      • modulesType1
        • MOD1
        • MOD2
      • modulesType2
        • MOD1
        • mod2
      • app.js
      • bootstrap.js
    • LIB
      • 需要
        • require.js
      • LIB1
        • lib1.js
    • CSS / IMG /分音/...
    • 的index.html

初始 bootstrap.js a有require.config个对象和一个初始require

/*global define, require */

require.config({
    baseUrl: 'js',
    paths: {
      lib1: '../lib/lib1/lib1'
    },
    shim: {
      lib1: ['something']
    } 
});
require(['lib1', 'app'], function (lib1, app) {
   app.doSth();
});

在您的html页面中,您只需要一个带有script属性的data-main代码:

<body>
    ...
    <script type="text/javascript" src="lib/require/require.js" data-main="js/bootstrap"></script>
</body>

编辑:模块不一定要符合AMD标准,但如果它们由您自己控制,最好使它们符合AMD标准。您可以使用require.config中的shim属性加载第三方非AMD库。