RequireJS非AMD文件

时间:2014-05-12 19:45:26

标签: javascript requirejs amd

我试图将LeafletJS与requireJS和一些LeafletJS插件一起使用。我知道如果你使用的是不是AMD模块的文件,你需要在配置中填充它们。这是否意味着我将不得不使用LeafletJS依赖来填充每个插件?例如:

require.config({
    paths: {
        'leaflet':         'vendor/leaflet/leafletjs',
        'leafletplugin1':         'vendor/leaflet/leafletplugin1',
        'leafletplugin2':         'vendor/leaflet/leafletplugin2'
    },
    shim: {
        'leafletplugin1': {
            deps: 'leaflet'
        },
        'leafletplugin2': {
            deps: 'leaflet'
        }
    }
});

问题在于我计划有许多带有许多插件的库,而且这个配置会变得非常长,因为我不仅需要对每个插件进行填充,而且还要为每个插件提供路径。有更简单的方法吗?如果我甚至可以在模块内部定义require.config以仅用于该模块,那将是很好的,这样我可以使我的项目更有条理,更简洁。

此外,没有其他方法可以简单require(['leafletplugin1'], function(){});而无需填充它,对吗?

编辑:只是为了澄清,这不一定是LeafletJS特定的问题/答案。这只是我正在使用的当前示例。

1 个答案:

答案 0 :(得分:0)

选项1 :取决于您的构建过程和..

  • 插头数量
  • 插件的总大小

所有的叶子都会结束。插件到一个文件中。

选项2 :将所有插件转换为适当的模块。

这意味着拥有一个~/leaf目录和一个~/leafModule目录并拥有构建过程" wrap"每个插件都进入一个合适的模块。

在类似的情况下,我做了选项2.相当简单,使我的代码的其余部分更容易处理。