我有以下 lint 配置...
{
"extends": ["eslint:recommended", "google"],
"parserOptions": {
"ecmaVersion": 2020,
"sourceType": "module"
},
"rules": {
"require-jsdoc": 1
},
"env": {
"es6": true
}
}
以及以下代码...
const __dirname = path.dirname(new URL(import.meta.url).pathname);
//^Error is...
但是当它起毛时我得到......
9:46 error Parsing error: Unexpected token .
这是一段非常常见的代码,所以我很困惑。
更新
解决了...
"ignorePatterns": ["unclean.mjs", "node_modules"],
但我想要一个不必忽略整个文件的解决方案。
这是一个语法错误,因为 ESLint 的默认解析器仅支持第 4 阶段提案,但 import.meta 目前是第 3 阶段。目前,您必须将解析器更改为“babel-eslint”或“@typescript-eslint/解析器”以便解析
import.meta
。
该短语是一个语法错误,因为
import
是 EcmaScript 中的关键字。因此 import.meta
与 if.foo
或 switch.foo
一样无效。
eslint 7.2.0(2020 年 6 月)中添加了对 import.meta 的支持,但是为了使其正常工作,我必须编辑 .eslintrc.json 并将 ecmaVersion 从 2018 年更改为 2020 年。