小编Joh*_*egn的帖子

RequireJS和文本插件加载模块的超时

我在使RequireJS文本插件工作时遇到了一些问题.这可能是一个与路径相关的问题(或者同样明显的事情),但我无法解决它,因为Chrome控制台(xhr打开)和firebug都没有给我任何信息.

Uncaught Error: Load timeout for modules: text 
http://requirejs.org/docs/errors.html#timeout

我很确定路径没问题,但我找不到任何其他解释.有人知道如何调试这个吗?

我在服务器端使用node.js和express,在客户端使用backbone和jQuery.所有这些都可以通过RequireJS正确加载.

jquery requirejs backbone.js underscore.js

15
推荐指数
1
解决办法
9322
查看次数

如何衡量JavaScript的解析时间

在我们公司,我们将每个Javascript文件合并为一个大的(大约700kb但正在增长)缩小和压缩的Javascript文件.我试图评估每个页面使用一个大的Javascript文件(缩小和gzip)和使用几个Javascript文件之间的性能差异,每个页面一个.

一个明显的区别是,大型Javascript文件可以在浏览器加载到第一页请求后缓存,之后产生的开销很小,而在使用多个js文件时,每个不同的页面上至少会有一个未缓存的get请求.所以我会为较慢的连续初始页面加载交易较慢的第一个初始页面加载.

为了找出什么时候缓慢的初始页面加载(使用一个大的Javascript文件)将成为足以证明将合并文件分解为更小的文件和更改我们的构建过程的工作的合理性,我想知道它有多长需要解析代码,因此我可以估计总加载和解析时间.

到目前为止,我的方法是将一个脚本标记添加到测试页面,该页面占用当前时间,使用Javascript附加一个大的脚本,之后再次测量时间,如下所示:

var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script')
script.setAttribute('type', 'text/javascript');
script.src = 'path/700kbCombineFile.js';
start_time = new Date().getTime();
head.appendChild(script);
Run Code Online (Sandbox Code Playgroud)

在700kbCombineFile.js的末尾,我附上:

console.log(new Date().getTime() - start_time)
Run Code Online (Sandbox Code Playgroud)

然后我减去从firebug获得的网络传输时间,对于700 kb文件接收大约700ms,对于300 kb文件接收大约300ms.

这种方法有意义吗?为什么不?有没有更好的方法/任何工具来做到这一点?

javascript

8
推荐指数
2
解决办法
1894
查看次数