我对ESLint、Prettier和Babel相当陌生;仍在学习他们如何协同工作。我使用的是Visual Studio Code 1.96.4,带有ESLint和Prettier扩展。
在我的一个javascript文件中,我有一个带有类型断言的import语句。例如:
import * as manifest from './package.json' with { type: 'json' };
~~~~
我的IDE告诉我ESLint上面的import语句有问题:
Parsing error: Unexpected token with | eslint
我有一个
eslint.config.js
文件,导出
eslint.Linter.Config
指定我自己的配置对象(具有语言选项和规则)的数组,后面是来自的推荐配置
@eslint/js
,以及ESLint Prettier插件推荐配置。
import pluginJs from '@eslint/js';
import eslintPluginPrettier from 'eslint-plugin-prettier/recommended';
import globals from 'globals';
/** @type {import('eslint').Linter.Config[]} */
export default [
{
languageOptions: {
globals: {
...globals.browser,
...globals.jest
},
ecmaVersion: 2024,
sourceType: 'module'
},
rules: {
...
}
},
pluginJs.configs.recommended,
eslintPluginPrettier // <-- Removing this fixes the problem, but then am I still running Prettier at lint-time?
];
以下是(我认为?)相关的已安装软件包:
"devDependencies": {
"@babel/core": "^7.26.0",
"@babel/eslint-parser": "^7.26.5",
"@babel/plugin-syntax-import-assertions": "^7.26.0",
...
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.18.0",
...
"eslint": "^9.18.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-prettier": "^5.2.3",
...
"prettier": "^3.4.2",
...
},
我也有一个
.prettierrc
该文件是一个简单的JSON对象,其中只有规则,没有插件或任何东西。我不知道如果
.babelrc
跟这有什么关系吗?
我如何使IDE错误消失,同时仍然执行ESLint和Prettier规则?