私は、require.js の構成で設定されたパスが受け入れられない状況に遭遇しています。その理由について 2 つの推測があります。必要な構成のパスに次のエントリを設定しました。
"initVars": "../initVars"
そして、モジュールでは、それを単に次のように正常に参照できます"initVars"
ただし、スクリプト タグ src'ing require.js のすぐ下の HTML 内のスクリプト ブロックで上記を直接参照しようとしています (もちろん、「data-main」属性で構成ファイルを指定します)。
//require(['initVars'], function(VARS) { // *doesn't work*
require(['../initVars'], function(VARS) {
VARS.init({
ENV: "${env}"; //"Play" framework "template" variable
});
});
したがって、この特定の状況でフルパスを指定する必要がある理由についての私の2つの推測は次のとおりですが、誰かが確実に教えてくれることを願っています:
- 相対パスは「require()」の呼び出しでは受け入れられず、「define()」の呼び出しでのみ受け入れられます
- 「require()」が src されたスクリプト ファイルからではなく、HTML で直接呼び出された場合、相対パスは受け入れられません。