是否可以通过道场的AMD加载程序向道场模块请求添加请求参数



是否可以在将请求发送到服务器之前修改dojo AMD加载器使用的请求url ?我想附加一个带有版本号的请求参数。

我们试图解决的问题是,我们希望我们的javascript文件缓存的浏览器,除非应用程序的版本更新。如果我们能在请求的URL中添加一个版本号,我想我们应该能够做到这一点。

paths配置属性似乎适用于单个模块,而cacheBust可用于所有模块。jsfiddle例子。

<script>
var dojoConfig = {
    paths: {
        // version a single file by using path with version number
        "aa": "mylib-aa.js?v=1.0",
        // standard path, no explicit versioning
        "bb": "mylib-bb"
    },
    // use v=1.0 for ALL loaded modules
    cacheBust: "v=1.0",
    waitSeconds: 10
};
</script>
<script src="https://ajax.googleapis.com/ajax/libs/dojo/1.8.3/dojo/dojo.js"></script>
<script>
require(["aa", "bb"], function () {});
</script>
给:

"NetworkError: 404 Not Found - https://ajax.googleapis.com/ajax/libs/dojo/1.8.3/dojo/mylib-aa.js?v=1.0.js&v=1.0"
"NetworkError: 404 Not Found - https://ajax.googleapis.com/ajax/libs/dojo/1.8.3/dojo/mylib-bb.js?v=1.0"

paths方法的打嗝是尾部的"。js",但对于版本控制的目的,我不认为这是一个问题,因为URL仍然是唯一的方式,你想要的

最新更新