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へのアクセスを要求できることはわかっていますが、より高いレベルの構成オプションにアクセスする方法がわかりません。configdefine(['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 から、呼び出しtoURLは拡張子なしのパスを返します。そのため、baseUrl を取得するには:

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