我有一个批处理文件,它是:
@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
我正在尝试通过txt文件中列出的URL通过Google Lighthouse进行批量审核,但遇到错误-
遇到运行时错误: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(internal / process / next_tick.js:68:7)
我尝试过修改URL,但是没有成功。
它应该简单地通过灯塔运行每个URL,并在同一文件夹中输出HTML报告。
答案 0 :(得分:1)
您是否尝试过使用--
而不是–
或-
,并且在使用时,将选项放在最好用双引号后的元变量之后:
@For /F "UseBackQ Delims=" %%A In ("C:\Users\yarrytroshchey\Lighthouse\Demo\urls.txt"
) Do @LightHouse "%%A" --quiet --chrome-flags="--headless"
由于没有必要,我错过了--output
选项,因为因为html
是默认
答案 1 :(得分:0)
使用bash脚本作为Docker的入口点时,我遇到了同样的问题。我确实在docker run上使用环境变量并在脚本中将其指向而不是直接参数来解决此问题。
例如,entry-point.sh文件:
#!/usr/bin/env bash
set -Eeo pipefail
lighthouse --no-enable-error-reporting --chrome-flags="--headless --disable-gpu" $URL --output json html
在适当的位置,您只需要在下一次docker运行中使用“ https:// www .....”提供env变量URL。