需要前缀脚本文件的路径映射

requirejs path mapping for prefixed script files

本文关键字:路径 映射 文件 脚本 前缀      更新时间:2023-09-26

我试着在谷歌上搜索我内心的内容,并在API文档中搜索需求,但无济于事。

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

我想用"kendo/kend.xxxModuleNamexxx.min.js"前缀所有调用"kendo. xxxmodulenamexxx .min.js"-为了保持我的解决方案美观整洁,而不是有一个巨大的脚本文件夹:)

结构:

  • 指数
      <
    • 脚本/gh>
    • 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 .....等。

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

Thanks in advance:)

詹姆斯

您可以编写自己的规范化插件来协调资源名称并加载"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 ... }