eslint9配置

原先的 eslintrc 已弃用,并且不会自动搜索
在这里插入图片描述
执行 npx eslint --init 后默认创建 eslint.config.js 内容如下

import globals from 'globals';
import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginVue from 'eslint-plugin-vue';

/** @type {import('eslint').Linter.Config[]} */
export default [
	{
    
     files: ['**/*.{js,mjs,cjs,ts,vue}'] },

	{
    
     languageOptions: {
    
     globals: globals.browser } },
	pluginJs.configs.recommended,
	...tseslint.configs.recommended,
	...pluginVue.configs['flat/essential'],
	{
    
    
		files: ['**/*.vue'],
		languageOptions: {
    
     parserOptions: {
    
     parser: tseslint.parser } }
	},
];

进行配置,如合并 prettier

npm i prettier eslint-config-prettier -D

创建 .prettierrc.js

module.exports = {
    
    
	printWidth: 120, //单行长度
	tabWidth: 4, //缩进长度
	useTabs: true, //使用空格代替tab缩进
	semi: true, //句末使用分号
	singleQuote: true, //使用单引号
	endOfLine: 'auto',
	trailingComma: 'none' // 对象最后一个属性末尾是否要逗号
};

eslint.config.js

import globals from 'globals';
import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginVue from 'eslint-plugin-vue';
import eslintConfigPrettier from 'eslint-config-prettier'; // 引入插件

/** @type {import('eslint').Linter.Config[]} */
export default [
	{
    
     files: ['**/*.{js,mjs,cjs,ts,vue}'] },

	{
    
     languageOptions: {
    
     globals: globals.browser } },
	pluginJs.configs.recommended,
	...tseslint.configs.recommended,
	...pluginVue.configs['flat/essential'],
	{
    
    
		files: ['**/*.vue'],
		languageOptions: {
    
     parserOptions: {
    
     parser: tseslint.parser } }
	},
	eslintConfigPrettier // prettier
];