使用RequireJS如何从CDN和本地加载文件?

时间:2014-03-31 16:03:16

标签: requirejs

在我们的应用程序中,后端传递CDN的基本URL。例如:

...
<script src="${props.cdn}/jquery.js"></script>
...
<script src="${props.local}/app.js"></script>
...

我们想要开始使用RequireJS。所以问题是如何将$ {props.cdn}和$ {props.local}的值传递给RequireJS并在那里使用它们?例如,像:

<script src="${props.cdn}/require.js" data-main="${props.local}/main.js"
  data-cdn="${props.cdn}" data-local="${props.local}"></script>

在main.js中有类似的东西:

require.config({
    paths: {
        jquery: require.config.cdn + '/jquery.js',
        someScript: require.config.local + '/someScript.js',
    }
});

1 个答案:

答案 0 :(得分:0)

RequireJS不会从data-main标记中获取除script以外的任何内容。获得你想要的东西的一种方法是:

<script>
    require = {
        paths: {
            jquery: '${props.cdn}/jquery.js',
            someScript: '${props.local}/someScript.js',
        }
    }
</script>
<script src="${props.cdn}/require.js" data-main="${props.local}/main.js"/>

RequireJS的工作方式,如果在加载RequireJS之前将require设置为RequireJS配置,那么RequireJS将在那里获取其初始配置。您仍然可以在require.config文件中调用main.js来添加填充程序和路径。 RequireJS将多个配置组合成一个配置。

另一种方法是使用config配置选项,但是你必须将代码的结构与现在的代码完全不同。