gpt4 book ai didi

caching - 用于生产和缓存管理的 SystemJS 版本控制(requirejs urlArgs 替代方案)

转载 作者:行者123 更新时间:2023-12-04 03:57:14 25 4
gpt4 key购买 nike

我想从 requirejs 迁移到 SystemJS,但是我找不到 requirejs 用于模块版本控制的解决方案。
例如在生产(ASP.Net 网站)中,我设置了 RequireJS,如下所示:

require.config({
baseUrl: "@Url.Content("~/Scripts/")",
urlArgs: "buildNumber=@(File.GetLastWriteTime(ViewContext.Controller.GetType().Assembly.Location).ToBinary().ToString() + typeof(Foundation.MvcApplication).Assembly.GetName().Version)",
...
});

它保证一旦项目在生产环境中重新发布,文件将被重新加载,并保持这种方式直到重新加载。

但是,我没有为 SystemJS 找到任何解决方案(由于 SystemJS 管理更多类型的模块,我想迁移到它)。

有没有人在生产中使用过 SystemJS 并且遇到过同样的问题,您知道 SystemJS 中的“urlArgs”参数(或插件)吗?

最佳答案

长话短说:SystemJS 的 github 上有问题关于 cache bust .但事情还没有正式实现。目前有一个自定义钩子(Hook),可以很容易地添加

var buildNumber = 1234, // made your own build number
systemLocate = System.locate;
System.locate = function(load) {
return Promise.resolve(systemLocate.call(this, load)).then(function(address) {
return address + '?build='+buildNumber;
});
}

编辑 修正错字

关于caching - 用于生产和缓存管理的 SystemJS 版本控制(requirejs urlArgs 替代方案),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35404460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com