Github Action中运行StyleLint抛出语法错误,求技术支持
问题分析与解决建议
问题根源
报错里的?.是ES2020新增的可选链操作符,而你CI环境使用的Node.js 12.x并不支持这个语法,当前安装的StyleLint版本(或其依赖)已经采用了该语法,导致运行时抛出语法错误。
解决方案
方案1:升级Node.js版本(推荐)
修改CI Action文件中的Node.js版本配置,将12.x替换为支持ES2020的版本(Node.js 14.x及以上,建议用LTS版本如16.x、18.x):
- uses: actions/setup-node@v3 with: node-version: '16.x' # 可替换为14.x/18.x等LTS版本
方案2:降级StyleLint到兼容Node12的版本
如果无法升级Node.js,需要锁定StyleLint及其相关依赖到支持Node12的版本:
- StyleLint v14.x系列是最后一批支持Node.js 12的版本,你可以在
package.json中指定版本:
{ "devDependencies": { "stylelint": "^14.16.1", "stylelint-config-recommended-scss": "^7.0.0", "stylelint-prettier": "^2.0.0" } }
执行npm install重新安装兼容版本。
验证步骤
修改后重新运行CI流程,或本地切换对应Node版本执行npm run styleLinter,确认报错消失。
内容的提问来源于stack exchange,提问作者Grant mitchell
相关产品推荐
相关产品推荐

