Ошибка получения CLI Lighthouse - неверный URL при использовании командного файла для запроса
У меня есть пакетный файл, который:
@echo off
for /f "delims=" %%a in (C:\Users\yarrytroshchey\Lighthouse\Demo\urls.txt)
DO (
ECHO Line is: %%a
lighthouse -output html –quiet –chrome-flags="–headless" %%a
)
и файл urls.txt, который:
https://www.bbc.co.uk
https://www.bbc.co.uk/sport
https://www.bbc.co.uk/sport/formula-1
Я пытаюсь запустить пакетный аудит через Google Lighthouse по URL-адресам, указанным в txt-файле, и у меня возникает ошибка -
Обнаружена ошибка времени выполнения: lighthouse-core/lib/lh-error.js | urlInvalid # 0 LHError: INVALID_URL в маяке (C:\Users\yarrytroshchey\AppData\Roaming\npm\node_modules\lighthouse\lighthouse-core\index.js:44:11) в chromeP.then._ (C:\Users\yarrytroshchey\AppData\Roaming\npm\node_modules\lighthouse\lighthouse-cli\run.js:191:12) в process._tickCallback (внутренний /process/next_tick.js:68:7)
Я пытался изменить URL-адреса, но не удалось.
Он должен просто пропустить каждый URL через маяк и вывести отчет в формате HTML в той же папке.
1 ответ
Вы пытались использовать --
вместо –
или же -
и пока вы это делаете, поместите опции после, предпочтительно в двойных кавычках, метавариабельной переменной:
@For /F "UseBackQ Delims=" %%A In ("C:\Users\yarrytroshchey\Lighthouse\Demo\urls.txt"
) Do @LightHouse "%%A" --quiet --chrome-flags="--headless"
Я пропустил --output
вариант как то ненужный, т.к. html
по умолчанию
У меня была такая же проблема с использованием сценария bash в качестве точки входа для Docker. Я решил эту проблему, используя переменные среды при запуске докера и указав это в скрипте вместо прямого аргумента.
Например, файл entry-point.sh:
#!/usr/bin/env bash
set -Eeo pipefail
lighthouse --no-enable-error-reporting --chrome-flags="--headless --disable-gpu" $URL --output json html
После этого вам просто нужно передать URL-адрес переменной env с помощью "https://www....." при следующем запуске докера.