0

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

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

我想在所有对“kendo.xxxModuleNamexxx.min.js”的调用前加上“kendo/kend.xxxModuleNamexxx.min.js”——为了让我的解决方案保持整洁并且没有一个巨大的脚本文件夹:)

结构:

  • 指数
    • 脚本
    • jquery.min.js
    • 同位素.min.js
    • 淘汰赛.min.js
    • someothermodules.js
    • 需要js.js
    • main.js
    • 剑道
      • kendo.web.min.js
      • kendo.combobox.min.js
      • kendo.fx.min.js

仅供参考 - 所有 kendo 脚本都与 AMD 兼容,并报告它们的模块 ID 作为前缀:kendo.moduleName ..... 等。

更新:不幸的是,由于我的目录中有许多其他脚本,我仍然要求我的 baseUrl 是“/scripts”文件夹。(剑道脚本的数量如此之多,这就是为什么我要为这些前缀脚本创建一个单独的基本文件夹)

提前致谢 :)

詹姆士

4

1 回答 1

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 ... }

于 2020-03-09T17:46:41.783 回答