javascript - RequireJS 中依赖关系的相关路径定义

标签 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 会更改所有模块中的所有路由,是吗?如果不是,我不知道在这种情况下如何使用它。

最佳答案

您应该配置 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.

关于javascript - RequireJS 中依赖关系的相关路径定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23981148/

相关文章:

javascript - 如何将变量从 javascript 文件传递​​到服务器到 ejs 模板

javascript - 在 requirejs、backbonejs 中使用应用程序级持久化模型

requirejs - Require.js 可以有条件地加载脚本吗?

javascript - require.js 与 jquery ui,找不到 jquery

javascript - CSS:点击多个元素

javascript - Angular ng-repeat 不显示来自 Meteor.call 的数据

javascript - 从 Web 到打印的 SVG

javascript - 同构 JavaScript 与 RequireJS

javascript - 在 requirejs 中返回 Backbone 集合的标准方法

javascript - 何时使用 requestAnimationFrame?如果我们有 css 过渡,为什么我们需要 requestAnimationFrame?