モジュール内のRequire.jsのbaseUrl
構成を取得しようとしましたが、それが格納されている場所が見つかりません。
_define([], function() {
// Here I'd like to access the `baseUrl` require.js is using
var baseUrl = requirejs.config().baseUrl;
});
_
私の場合、baseUrl
は、スクリプトファイルの_data-main
_属性を使用してRequire.jsによって設定されます。
module
にconfig
属性(define(['module'])
など)へのアクセスを要求できることは知っていますが、より高いレベルの構成オプションにアクセスする方法がわかりません。
toUrl を使用しますか?
define({
load: function (name, parentRequire, load, config) {
var fullUrl = parentRequire.toUrl("foo/bar.css");
}
});
edit:
require.js 2.1.3で開始 toURL
を呼び出すと、拡張子なしのパスが返されます 。そのため、baseUrlを取得するには:
var baseURL = require.toUrl();
設定は次の場所にも到達できます。
requirejs.s.contexts._.config
設定オブジェクトを直接検査します。
https://groups.google.com/forum/#!topic/requirejs/Hf-qNmM0ceI
RequireJS 2.1.5では、空の文字列を渡す必要があることを除いて、epascarelloが言うようにベースURLを取得できます。
var baseURL = require.toUrl('');