前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用eslint自动调整代码引入顺序(react版)

使用eslint自动调整代码引入顺序(react版)

原创
作者头像
whileideath
修改2023-03-27 17:47:42
2.4K2
修改2023-03-27 17:47:42
举报

一、例子

导入前

代码语言:javascript
复制
import React from "react";
import Button from "../Button";

import  "./styles.css";
import type { User } from "../../types";
import { getUser } from "../../api";

import PropTypes from "prop-types";
import classnames from "classnames";
import { truncate, formatNumber } from "../../utils";

导入后

代码语言:javascript
复制
import React from "react";
import classnames from "classnames";
import PropTypes from "prop-types";

import { getUser } from "../../api";
import type { User } from "../../types";
import { formatNumber, truncate } from "../../utils";
import Button from "../Button";
import "./styles.css";

二、操作流程

安装插件:插件地址:https://github.com/lydell/eslint-plugin-simple-import-sort

代码语言:javascript
复制
yarn add -D eslint-plugin-simple-import-sort

配置:

.eslintrc中分别加入simple-import-sort,如下

代码语言:javascript
复制
plugins: [
  'react',
  'simple-import-sort'
],

在rules中加入以下规则

代码语言:javascript
复制
'simple-import-sort/imports': [
  'error',
  {
    groups: [
      // react放在首行
      ['^react', '^@?\\w'],
      // 内部导入
      ['^(@|components)(/.*|$)'],
      // 父级导入. 把 `..` 放在最后.
      ['^\\.\\.(?!/?$)', '^\\.\\./?$'],
      // 同级导入. 把同一个文件夹.放在最后
      ['^\\./(?=.*/)(?!/?$)', '^\\.(?!/?$)', '^\\./?$'],
      // 样式导入.
      ['^.+\\.?(css)$'],
      // 带有副作用导入,比如import 'a.css'这种.
      ['^\\u0000'],
    ]
  }
],
'simple-import-sort/exports': 'error',// 导出
'import/no-duplicates': 'error',// 合并同一个导入。ide自动导入,会导致impoprt {a} from 'A'和impoprt {a1} from 'A'导入2次
'import/first': 'error', // 确保所有导入位于文件的顶部
'import/newline-after-import': 'error' // 确保在导入后有换行符

最后执行

代码语言:javascript
复制
eslint --fix src/**

以上信息参考:1、使用eslint自动调整import代码顺序

2、https://github.com/lydell/eslint-plugin-simple-import-sort

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、例子
  • 二、操作流程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档