我正在使用 phantomjs 解析 XML 站点地图以获取 URL,然后检查这些 URL 上的 Google Analytics 请求。
我写了一个 parsexml.js 文件,它工作正常,但我没有在我的 checkRequest.js 文件中将它用作模块
这是 parsexml.js 代码(工作正常):
var page = require('webpage').create(),
urls,
sites,
output;
page.open(encodeURI('http://www.somesite.com/sitemap.xml'), function(status) {
if (status !== "success") {
console.log('Unable to access network');
phantom.exit(1);
} else {
urls = page.content.match(/<loc>(.*)<\/loc>/ig);
output = '';
if (urls == null) {
console.log('Pas d\'URL dans le fichier');
} else {
urls.forEach(function(url) {
url = url.replace(/<.*?>/g, '');
sites = 'sites.push(' + url + ');';
output = output + sites;
});
}
console.log(output);
phantom.exit();
}
});
以下是我尝试修改它以将其用作模块的方法:
exports.parsing = function () {
var page = require('webpage').create(),
urls,
sites,
output;
page.open(encodeURI('http://www.somesite.com/sitemap.xml'), function(status) {
if (status !== "success") {
console.log('Unable to access network');
//phantom.exit(1);
} else {
urls = page.content.match(/<loc>(.*)<\/loc>/ig);
output = '';
if (urls == null) {
console.log('Pas d\'URL dans le fichier');
} else {
urls.forEach(function(url) {
url = url.replace(/<.*?>/g, '');
sites = 'sites.push(' + url + ');';
output = output + sites;
});
}
console.log(output);
//phantom.exit();
}
});
}
最后,我如何尝试在我的最终 js 文件中调用该模块:
var xml = require('./parseXML.js');
xml.parsing();
我一定错过了一些明显的东西,但我现在正在寻找几个小时,我真的很迷茫。