有没有办法让 ESLint 理解新的导入断言语法而不添加 Babel?

den*_*nis 13 javascript node.js eslint

由于导入断言语法(例如assert {type: 'json'})在最新的 Node.js 版本中是强制性的,我正在寻找一种能够编写这种新语法的方法,但我不想添加 Babel 只是为了能够使用Babel ESLint 解析器可以理解它。

这可以通过不同的 ESLint 插件添加吗?

Tro*_*ott 10

截至撰写本文时,Node.js 核心代码本身已配置为@babel/eslint-parser专门用于此. 使用 ESLint 附带的解析器(目前)不太可能有一种简单可靠的方法来做到这一点。截至 2023 年 2 月,该规范处于第 2 阶段。ESLint 的政策是只添加 Stage 4 语法。此外,Node.js 文档和运行时警告清楚地表明这是一个实验性 API。@babel/eslint-parser如果您使用的是实验性 API,那么安装是合理的解决方案。


Sce*_*eat 10

必须使用 babel eslint 解析器

npm i -D @babel/eslint-parser @babel/plugin-syntax-import-assertions
Run Code Online (Sandbox Code Playgroud)

然后在.eslintrc中

npm i -D @babel/eslint-parser @babel/plugin-syntax-import-assertions
Run Code Online (Sandbox Code Playgroud)