我最近在探索 nodejs 和 phantomjs 并编写了一个小代码来测量页面加载时间。我发现,与纯 phantomjs 代码相比,包裹在 nodejs 中的 phantomjs 代码的页面加载时间不同。下面是代码:phantomjs和nodejs进行比较:
节点:
var http = require('http'),
phantom = require('phantom');
url = require("url");
http.createServer(function (request, response) {
var start = Date.now();
request.on('end', function () {
phantom.create(function(ph) {
ph.createPage(function(page) {
var _get = url.parse(request.url, true).query;
page.open(_get[url], function(status) {
if (status == 'success') {
var time = Date.now() - start;
console.log(time);
}
});
});
});
});
}).listen(80,'');
幻影:
var page = require('webpage').create();
var system = require('system');
var address = system.args[1];
var time = 0;
var start = Date.now();
page.open(address, function (status) {
time = Date.now() - start;
console.log(time + '');
});
通过 phantomjs 测试站点的时间通常要长 4 倍。有任何想法吗?