我正在自己开发一个Ember.js应用程序,同时开始跟踪脚本的加载方式,只是注意到如果ember.js核心和handlebars.js在同一个文件中缩小了我的应用程序。 js将加载两次。
为什么吗
这是ember.js的一个奇怪的行为,它只加载“几乎两次”或加载两次真实?
AngularJS是相同的,但我得到了这个行为的答案,它只是'虚拟'意味着js不会再次加载但是在角度初始化之前它必须告诉浏览器'我已经被加载'并且它只是可以这样做。
这是一样的吗?
提前感谢您的回答, 祝你有个美好的一天!
答案 0 :(得分:1)
这与Ember.js(或Angular,无论如何)无关。这就是HTTP的工作方式。您的浏览器正在尝试加载已使用If-Modified-Since
标头加载的资源或其他使GET
请求“有条件”的标头。 (见http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)
如果您在网络显示中发现,HTTP响应(状态)为304,表示“未修改” - 因此不会传输内容。但是,请求/响应周期确实花费了一些时间,所以您应该看看为什么要请求相同的资源两次......