1

私は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 変数を更新したいと考えています。

正しい方向へのポインタは本当にありがたいです。

ありがとう。

4

0 に答える 0