自动修复 import 排序 ( autofix sort import/export )

3 篇文章 0 订阅

自动修复 import 排序

import/export 按一定的规则排序,既让代码美观,也让开发者更好的维护代码,目前自动修复import/export主要有以下两种:

  1. 基于eslint 规则的 eslint-plugin-simple-import-sort 自动导入排序和校验;
  2. 基于 prettier 的 plugin @trivago/prettier-plugin-sort-imports 自动导入排序;

eslint-plugin-simple-import-sort

 yarn  add  -S   eslint  eslint-plugin-simple-import-sort @typescript-eslint/eslint-plugin  @typescript-eslint/parser
  • 在根目录 .eslintrc.js 添加配置
{
 parser: “@typescript-eslint/parser”,
  parserOptions: {
    project: 'tsconfig.json',
    tsconfigRootDir: __dirname,
    sourceType: 'module',
  },
 plugins: ["simple-import-sort", "import","'@typescript-eslint'"],
 "rules": {
    'sort-imports': 'off',
    'import/order': 'off',
    "simple-import-sort/imports": "error",
    "simple-import-sort/exports": "error",
  },
  "overrides": [
    {
      "files": "server/**/*.js",
      "env": { "node": true },
      "rules": {
        "simple-import-sort/imports": "off",
        "import/order": ["error", { "newlines-between": "always" }]
      }
    }
  ]
 
}
  • 命令行 fix,在package.json,添加命令
"lint:fixJs": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src ", 
  • save autofix sort , 编辑器vscode 安装eslint 插件,setting.json 添加配置
 "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true,
        "source.fixAll.stylelint": true,
    },
  "eslint.validate": [
        "json",
        "javascript",
        "typescript",
        "typescriptreact",
        "javascriptreact",
    ],
  • 同时可以在 git commit 阶段 设置钩子校验eslint ,配置方式可以自行查阅,

@trivago/prettier-plugin-sort-imports

 yarn  add  -S prettier   @trivago/prettier-plugin-sort-imports
  • prettierrc 配置添加以规则配置,command+s 保存, 自动格式化
{
  importOrder: ['^@formily/(.*)', '^@(.*)$', '^[./]'],
  importOrderSeparation: true,
}

可以在importOrder 中自定义想要的规则, 这个在eslint 中没有校验,规则较为宽松,可以在git commit hook 中配置 prettier 自定格式化 commit 的文件

"lint-staged": {
    "**/*.{js,jsx,ts,tsx}": "yarn lint-staged:js",
    "**/*.{js,jsx,tsx,ts,less,scss,md,json}": [
      "prettier --write"
    ]
  },
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值