42

我尝试baseUrl在模块中获取 Require.js 的配置,但找不到它的存储位置。

define([], function() {
  // Here I'd like to access the `baseUrl` require.js is using
  var baseUrl = requirejs.config().baseUrl;
});

就我而言,这baseUrl是由 Require.js 使用data-main脚本文件的属性设置的。

我知道我可以请求module访问config属性(例如define(['module'])),但我找不到如何访问更高级别的配置选项。

4

3 回答 3

98

您还可以将配置访问:

requirejs.s.contexts._.config 

直接检查配置对象。

https://groups.google.com/forum/#!topic/requirejs/Hf-qNmM0ceI

于 2014-02-05T14:26:03.153 回答
20

在 RequireJS 2.1.5 中,您可以像 epascarello 所说的那样获取基本 URL,除了您需要传递空字符串。

var baseURL = require.toUrl('');
于 2013-05-14T15:39:01.457 回答
16

你想使用toUrl吗?

define({
    load: function (name, parentRequire, load, config) {
           var fullUrl = parentRequire.toUrl("foo/bar.css");
    }
});

编辑:
从 require.js 2.1.3 开始,调用toURLreturn path without extension。因此,要获取 baseUrl:

var baseURL = require.toUrl();
于 2012-12-21T20:58:06.470 回答