RequireJS中依赖关系的相关路径

时间:2014-06-01 14:59:17

标签: javascript requirejs

在requirejs模块中,我想加载一些相关文件作为依赖项。该文件与define()模块位于同一文件夹中。模块和相关文件可能会移动到另一个位置。

如何通过相关路径设置define的依赖关系?

movableModule.js现在:

define('movableModule', [
    "changable/path/to/my/modules/relatedFile1",
    "changable/path/to/my/modules/relatedFile2"
    ], function(){
        console.log("movableModule loaded");
});

movableModule.js我想这样:

define('movableModule', [
    "./relatedFile1",
    "./relatedFile2"
    ], function(){
        console.log("movableModule loaded relatively!");
});

据我所知,调用require.config并使用baseUrl将更改所有模块中的所有路由,是吗?如果不是,我不知道在这种情况下如何使用它。

1 个答案:

答案 0 :(得分:2)

您应该配置RequireJS来定义不同的路径 然后你可以通过他们的名字来请求这些模块:

require.config({
    baseUrl: "/",
    paths: {
        "relatedFile1": "changable/path/to/my/modules/relatedFile1"
    }
});

然后你就可以了:

define('movableModule', [
    "relatedFile1"
    ], function(){
        console.log("movableModule loaded");
});

另外,如评论中所提到的,您可以定义部分路径,稍后将其用于传入模块:

require.config({
    baseUrl: "/",
    paths: {
        "modulePath": "changable/path/to/my/modules/"
    }
});

并要求你的模块:

define('movableModule', [
    "modulePath/module1",
    "modulePath/module2"
    ], function(){
        console.log("movableModule loaded");
});

Comment from the developer.