RequireJS依赖路径

RequireJS依赖路径,requirejs,Requirejs,我刚刚开始使用RequireJS。我正在设置一些路径别名,以避免在依赖项上指定版本号,但似乎无法将路径别名与目录别名组合。例如: require.config({ baseUrl: "/js/app", // by default load any module IDs from js/app paths: { "libs": "/some/path/to/libs", "jquery": "libs/jquery-1.9.0" // loads

我刚刚开始使用RequireJS。我正在设置一些路径别名,以避免在依赖项上指定版本号,但似乎无法将路径别名与目录别名组合。例如:

require.config({
    baseUrl: "/js/app", // by default load any module IDs from js/app

    paths: {
        "libs": "/some/path/to/libs",
        "jquery": "libs/jquery-1.9.0" // loads from /some/path/to/libs/jquery-1.9.0.js
    }
});

require(["jquery"], function ($) {
    $("#foo").html("bar");
});
RequireJS试图从
/js/app/libs/jquery-1.9.0.js


这是可能的,还是我需要分别定义每个js文件路径(如果我不想删除版本号)?

这应该可以,但是
require([“libs/jquery”]
应该更改为
require([“jquery”]
,因为您已经在配置中定义了该别名。

不,这是不可能的

引用James Burke对类似问题的回答:

路径不是可加的——路径条目的属性名是 模块ID,并且该值是一个不从其他模块计算的路径 价值观


我认为您必须单独定义每个js文件路径,我想不出更好的方法。

不幸的是,这不起作用。我已经用更多细节更新了我的问题。您遇到了什么错误?是“/some/path/to/libs”相对于您的baseUrl?404 as RequireJS尝试加载
/js/app/libs/jquery-1.9.0.js
。否
/some/path/to/libs
不是相对路径。也就是说,它也不适用于相对路径,例如../some/path/to/libs也不起作用。当使用相对路径
。/some/path/to时,它是否尝试从同一路径加载/libs
?然后,它应该尝试从
js/some/path/to/libs/jquery-1.9.0.js加载到/libs/jquery-1.9.0.js
。根据规范,我认为您应该使用
define(['jquery'],function…
)而不是
require(['jquery…
。另外,RequireJS)将版本号保存在不同的文件中(如package.json)为了最小化配置。我现在已经阅读了完整的RequireJS文档,其中没有提到任何地方可以用这种方式使用路径。此外,我没有定义模块,这段代码是在我的
main.js
中执行的。