在require.js中以编程方式更新缓存“bust”变量

时间:2013-01-22 23:57:15

标签: requirejs

我正在尝试更新require.js中的bust变量,因此浏览器被强制重新获取而不是从缓存中加载资源。我在这里发现有几个人问了类似的问题。我试着尝试一段简单的代码。

<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变量。

任何指向正确方向的人都会非常感激。

感谢。

0 个答案:

没有答案