私はrequire.jsのバスト変数を更新しようとしているので、ブラウザはキャッシュからリソースをロードする代わりに再フェッチを強制されます。ここで、複数の人が同様の質問をしていることがわかりました。簡単なコードで試してみます。
<html>
<head>
<title>jQuery+RequireJS Sample Page</title>
<!-- This is a special version of jQuery with RequireJS built-in -->
<script>
var require = {
urlArgs : "bust="+getRandom()
};
</script>
<script data-main="scripts/main" src="scripts/require-jquery.js"></script>
<script>
function getRandom() {
var buildNumber;
$.get("/resource/buildNumber", function(data) {
buildNumber = data;
});
return buildNumber;
}
</script>
</head>
<body>
<h1 id="heading">jQuery+RequireJS Sample Page</h1>
<p>Look at source or inspect the DOM to see how it works.</p>
</body>
サーバー上のプロパティ ファイルからビルド番号の値を取得しようとしています。しかし、次のエラーが表示されます。
Uncaught ReferenceError: getRandom is not defined
だから私はこれを試しました:
<script data-main="scripts/main" src="scripts/require-jquery.js"></script>
<script>
var require = {
urlArgs : "bust="+getRandom()
};
function getRandom() {
var buildNumber;
$.get("/resource/buildNumber", function(data) {
buildNumber = data;
});
return buildNumber;
}
</script>
しかし、私はこのエラーが発生します:
Uncaught TypeError: Property 'require' of object [object Object] is not a function
require-jquery.js が宣言される前でも bust 変数を設定する必要があるようですが、jquery ライブラリにアクセスせずにサーバー側 API にアクセスするにはどうすればよいですか? ビルドごとに bust 変数を更新したいと考えています。
正しい方向へのポインタは本当にありがたいです。
ありがとう。