为什么 linting 在"import.meta.url"上因"Unexpected token ."而失败?



我有以下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/parser"才能解析import.meta

该短语是语法错误,因为import是EcmaScript中的关键字。因此import.metaif.fooswitch.foo一样无效。

相关内容

最新更新