出于测试目的,我尝试删除一些 amd 模块并从服务器重新加载更新版本 - 目标是不刷新浏览器。
我目前正在执行以下操作,但浏览器仍然不会从网络重新加载项目。
var scripts = document.getElementsByTagName('script');
var context = require.s.contexts['_'];
for (var key in context.defined) {
if(key.indexOf("tests")>-1){
requirejs.undef(key);
for (var i = scripts.length - 1; i >= 0; i--) {
var script = scripts[i];
var attr = script.getAttribute('data-requiremodule')
if (attr === key){
script.parentNode.removeChild(script);
}
}}
它从上下文中删除引用并成功删除脚本标签。
可惜...
有谁知道清除 requirejs 中所有引用的机制?
非常感谢任何帮助
我们目前正在尝试这个实现:
require.onResourceLoad = function(context, map)
{
require.undef(map.name);
};
到目前为止还没有出现任何问题。
编辑:IE 不太关心这个修复。不过 Chrome 和 FF 都很好。
另外,您应该尝试在 PhpStorm 中进行实时编辑。奇迹般有效。可以看一个demohere http://www.youtube.com/watch?v=TnnVl3ydIB0。不过仅限 Chrome。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)