Javascript requirejs,是否可以创建在路径后加载deps的垫片

Javascript requirejs,是否可以创建在路径后加载deps的垫片,javascript,requirejs,Javascript,Requirejs,以下是我正在努力实现的目标 我有一个主库,需要在主库之后加载其他几个库 所有辅助库都要求加载主库 有没有和垫片深度相反的东西 primarylib.js secondarylib1.js secondarylib2.js secondarylib3.js secondarylib4.js secondarylib5.js 我想称之为: require(['primarylib'], function(){ }) 应首先加载primarylib.js,然后加载所有辅助库 如果使用普通垫片方法

以下是我正在努力实现的目标

我有一个主库,需要在主库之后加载其他几个库

所有辅助库都要求加载主库

有没有和垫片深度相反的东西

primarylib.js secondarylib1.js secondarylib2.js secondarylib3.js secondarylib4.js secondarylib5.js

我想称之为:

require(['primarylib'], function(){

})
应首先加载primarylib.js,然后加载所有辅助库

如果使用普通垫片方法,则需要将每个辅助库设置为需要主库。 当我想调用libs时,我需要调用require调用中的所有辅助库,而不是我想不惜一切代价避免的单个lib

编辑:一些附加注释和上下文

我正在尝试实现blueimp的文件上传程序

它为加载图像依赖性而哭泣

加载映像文件的最终配置如下所示

        "load-image": {
            "path": "lib\/blueimp-load-image\/load-image"
        },
        "load-image-exif-map": {
            "path": "lib\/blueimp-load-image\/load-image-exif-map",
            "shim": {
                "deps": [
                    "load-image"
                ]
            }
        },
        "load-image-exif": {
            "path": "lib\/blueimp-load-image\/load-image-exif",
            "shim": {
                "deps": [
                    "load-image"
                ]
            }
        },
        "load-image-ios": {
            "path": "lib\/blueimp-load-image\/load-image-ios",
            "shim": {
                "deps": [
                    "load-image"
                ]
            }
        },
        "load-image-meta": {
            "path": "lib\/blueimp-load-image\/load-image-meta",
            "shim": {
                "deps": [
                    "load-image"
                ]
            }
        },
        "load-image-orientation": {
            "path": "lib\/blueimp-load-image\/load-image-orientation",
            "shim": {
                "deps": [
                    "load-image"
                ]
            }
        }
如果像这样的方法奏效,那就太好了:

        "load-image": {
            "path": "lib\/blueimp-load-image\/load-image",
            "shim": {
                "post-deps": [
                    "lib\/blueimp-load-image\/load-image-exif-map",
                    "lib\/blueimp-load-image\/load-image-exif",
                    "lib\/blueimp-load-image\/load-image-ios",
                    "lib\/blueimp-load-image\/load-image-meta",
                    "lib\/blueimp-load-image\/load-image-orientation"
                ]
            }
        }
看看有多少额外的配置必须完成这一点

为什么不需要像post deps键这样的东西来加载post路径依赖项呢

我遇到了几个库,它们需要以这种方式加载,从而不必要地膨胀了我的配置文件

当我想调用libs时,我需要调用require调用中的所有辅助库,而不是我想不惜一切代价避免的单个lib

这就是像require这样的库的要点,它迫使您定义脚本的所有依赖项,原因有二

确保在从属模块使用库之前加载库 提供特定模块需要使用哪些LIB的可见性 如果我对你的问题理解正确,你就不喜欢不得不这样做

require(['secondarylib1', 'secondarylib2', 'secondarylib3', ...], function(...) {
    ...
});
当您想加载所有LIB时。假设每个secondarylib都需要primarylib,那么避免这种情况的最简单方法是使用一个引导程序lib来为您加载所有依赖库,例如

Bootstrapper.js

Main.js


我得出了类似的结论,创建了一个引导器。只是感觉有很多不必要的配置变量正在被创建,从而扩大了我的配置文件的大小。@DieterGribnitz这就是使用require的美妙之处……您可以模块化配置文件!谢谢,我从来没有想过,我将研究模块化配置文件
require(['secondarylib1', 'secondarylib2', 'secondarylib3', ...], function() {});
require(['bootstrapper'], function() {
    // all libs would be loaded
    ...
});