requirejs路径映射为前缀脚本文件

时间:2013-06-04 16:56:08

标签: javascript requirejs amd

尝试使用谷歌搜索我的内容,并在requirejs上搜索API文档无济于事。

是否可以根据我将要使用的脚本文件/模块的前缀为requirejs指定要使用的路径前缀?

我想将所有来电前缀加上" kendo.xxxModuleNamexxx.min.js"与" kendo / kend.xxxModuleNamexxx.min.js" - 为了保持我的解决方案整洁,没有巨大的脚本文件夹:)

结构:

  • 索引
    • 脚本
    • jquery.min.js
    • isotope.min.js
    • knockout.min.js
    • someothermodules.js
    • requirejs.js
    • main.js
    • 剑术
      • kendo.web.min.js
      • kendo.combobox.min.js
      • kendo.fx.min.js

仅供参考 - 所有剑道脚本均与AMD兼容,并将其模块ID报告为前缀:kendo.moduleName .....等。

更新:不幸的是,由于我目录中的其他脚本数量很多,我仍然需要我的baseUrl成为" / scripts"夹。 (kendo脚本的数量非常多,这就是为什么我在这些前缀脚本的单独基础文件夹之后)

提前致谢:)

詹姆斯

1 个答案:

答案 0 :(得分:0)

您可以编写自己的标准化插件,该插件可协调资源名称并加载“ kendo”脚本。不幸的是,我不知道有没有办法加载没有前缀的插件。因此,您需要在所有依赖项之前加上kendo!

//see https://requirejs.org/docs/plugins.html

define('kendo', (require, exports, module) => {
    return {
        normalize: function (name, normalize) {
            return 'kendo/' + name
        },
        load: function (name, req, onload, config) {           
            req([name], function (value) {
                onload(value);
            });
        }
    }
})

用法:

require(['kendo!a.js', 'kendo!b.js'], (a, b) => { return ... }