每次重新加载WireCloud工作区时,都需要永远加载所有JavaScript文件。我的浏览器的网络控制台表明有大约300个请求来检索所有需要的JavaScript资源。那些资源我只花了大约30ms加载每个资源,但是大量的请求导致仪表板几乎需要一分钟才能完全加载。
即使是最初的WireCloud登录页面也会使用大约250个请求,因此需要永久加载,并且实际上并不包含内容。
那么有没有办法压缩这些JavaScript文件和/或统一它们?来自服务器的文件甚至包含注释和换行符。据我所知,在生产中使用的JavaScript文件中不应该出现这种情况。
答案 0 :(得分:1)
WireCloud使用django-compressor
来统一JavaScript和CSS文件,如果DEBUG
文件中的False
为settings.py
,则应启用它。
我在FIWARE Lab的Mashup门户中测试了一个由4个小部件和4个操作员组成的仪表板,这导致~100个请求(javascript文件,初始ajax请求,css文件,... )。但考虑到几乎所有这些请求都应来自缓存(它们不是真正的请求):
如果您没有看到此行为,请检查您的Apache配置。其他请求应该返回304
错误代码,因此它们是真实的请求,但如果响应没有改变则具有荒谬的大小:
无论如何,我们正在努力减少所需的请求,并且我们会对任何建议持开放态度(如果您open a ticket建议为小部件压缩WirecloudAPI
文件,那将会很棒和运营商)。