SFRA Salesforce项目中ESLint解析错误问题求助
SFRA项目ESLint类型注解报错解决指南
问题本质
你在JavaScript文件里用了TypeScript专属的类型注解语法(var cartQty : Number = 0;中的: Number),这会触发两个问题:
- 编辑器的TypeScript语言服务报错
ts(8010):因为JS文件本身不支持TS类型注解语法 - ESLint解析报错
Parsing error: Unexpected token ::因为ESLint默认使用JS解析器,无法识别TS特有的语法
解决方案
方案一:切换为TypeScript文件(若需使用TS语法)
- 将目标文件的后缀从
.js改为.ts - 更新
eslintrc.json配置,启用TypeScript解析器和相关规则:{ "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"], "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended" ] } - 安装必要依赖:
npm install @typescript-eslint/parser @typescript-eslint/eslint-plugin --save-dev - 注意:SFRA默认是纯JS项目,需确认webpack配置已添加TS文件的编译规则,避免打包失败。
方案二:用JSDoc实现类型提示(无需切换TS)
如果只是需要类型提示,不想引入TS,改用JSDoc注释即可,JS文件和ESLint都能识别:
/** @type {Number} */ var cartQty = 0;
可在eslintrc.json中开启JSDoc规则校验(可选):
{ "rules": { "valid-jsdoc": "warn" } }
内容的提问来源于stack exchange,提问作者Beka Lobzhanidze
相关产品推荐
相关产品推荐

