如何访问Require.js的配置

Sim*_*ias 38 javascript requirejs

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

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

在我的例子中,baseUrl由Require.js使用data-main脚本文件的属性设置.

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

xde*_*cle 89

您还可以将配置转到:

requirejs.s.contexts._.config 
Run Code Online (Sandbox Code Playgroud)

直接检查配置对象.

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

  • 这正是我几个星期以来一直在寻找的。非常感谢。 (2认同)

Ste*_*ven 19

在RequireJS 2.1.5中,您可以像epascarello一样获取基本URL,除非您需要传递空字符串.

var baseURL = require.toUrl('');
Run Code Online (Sandbox Code Playgroud)


epa*_*llo 14

你想用toUrl吗?

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

编辑:
从require.js 2.1.3开始,调用toURL返回没有扩展名的路径.如上所述,获取baseUrl:

var baseURL = require.toUrl();
Run Code Online (Sandbox Code Playgroud)