Jenkins集成Lighthouse Report插件时执行命令报Unexpected token =错误求助
Jenkins集成Lighthouse Report插件时执行命令报Unexpected token =错误求助
看起来你遇到的是Node.js版本不兼容引发的语法解析问题,我之前配置Lighthouse Jenkins插件时也碰到过类似的报错,给你几个排查和解决的思路:
1. 先检查Jenkins执行环境的Node.js版本
Unexpected token =这类错误大多是因为旧版本Node.js不支持Lighthouse-CI依赖包中使用的ES6+语法(比如某些新的赋值类语法)。你可以先在Pipeline里加一行命令确认当前使用的Node版本:
node { sh 'node -v' // 查看当前Node版本 sh 'npx lighthouse-ci http://localhost:8080/ --jsonReport --report=.' lighthouseReport file: './report.json', name: 'My Report' }
如果输出的版本低于14.x,大概率就是版本过低导致的问题。
2. 在Jenkins中配置兼容的Node.js版本
解决方法是给Jenkins添加高版本的Node.js:
- 进入Jenkins的全局工具配置,找到NodeJS配置项,点击「添加NodeJS」,选择14.x及以上的稳定版本(比如18.x),给它命名(比如「NodeJS 18」)。
- 修改你的Pipeline脚本,指定使用这个高版本的Node:
node { // 调用全局配置的NodeJS版本 def nodeTool = tool name: 'NodeJS 18', type: 'jenkins.plugins.nodejs.tools.NodeJSInstallation' env.PATH = "${nodeTool}/bin:${env.PATH}" // 再次确认版本 sh 'node -v' // 执行Lighthouse命令,建议把--jsonReport改成官方推荐的--json-report格式 sh 'npx lighthouse-ci http://localhost:8080/ --json-report --report=.' lighthouseReport file: './report.json', name: 'My Report' }
3. 指定Lighthouse-CI的具体版本
如果还是报错,可以尝试指定安装最新版的lighthouse-ci,避免npx默认安装的版本有兼容问题:
sh 'npx lighthouse-ci@latest http://localhost:8080/ --json-report --report=.'
按照上面的步骤调整后,应该就能解决语法解析的问题,成功生成Lighthouse报告了。
备注:内容来源于stack exchange,提问作者vivo project
相关产品推荐
相关产品推荐

