У меня есть требование запустить скрипт Sitespeed, включив проверку текста и настраиваемые условия. Мне нужно прочитать все URL-адреса из текстового файла.
Согласно документации по скорости сайта, когда я запускаю приведенный ниже сценарий, он работает нормально.
module.exports = async function(context, commands) {
await commands.measure.start('XXXXXXXXXXXXXXXXX');
await commands.js.run('document.body.innerHTML = ""; document.body.style.backgroundColor = "white";');
await commands.measure.start('XXXXXXXXXXXXXXXXX');
await commands.js.run('document.body.innerHTML = ""; document.body.style.backgroundColor = "white";');
return commands.measure.start('XXXXXXXXXXXXXXXXX');}
Но когда я пишу код для чтения URL-адресов из текстового файла, он вызывает «Нет данных для сбора»
const cb = (context, commands) => async function (err, data) {
if (err) throw err;
console.log(data.toString().split(',\n'));
url_arr = data.toString().split(",\n");
for (url of url_arr) {
await commands.measure.start('url');
await commands.js.run('document.body.innerHTML = ""; document.body.style.backgroundColor = "white";');
}
return commands.measure.start('XXXXXXXXXXX'); };module.exports = async function (context, commands) { const fs = require("fs"); return fs.readFile("urls.txt", cb(context, commands));};
Даже приведенный ниже код не работает. Это приводит к той же ошибке. «Нет данных для сбора».
const cb = (context, commands) => async function (err, data) {
if (err) throw err;
console.log(data.toString().split(',\n'));
await commands.measure.start('XXXXXXXXXXXXXXXXX');
await commands.js.run('document.body.innerHTML = ""; document.body.style.backgroundColor = "white";');
await commands.measure.start('XXXXXXXXXXXXXXXXX');
await commands.js.run('document.body.innerHTML = ""; document.body.style.backgroundColor = "white";');
return commands.measure.start('XXXXXXXXXXXXXXXXX');};module.exports = async function (context,commands) { const fs = require("fs"); return fs.readFile("urls.txt", cb(context, commands));};
Примечание: я ничего не знаю о Java Script.