eslint-plugin-import踩坑过程

为什么用eslint-plugin-import?
因为eslint-config-airbnb-base前置插件就是eslint-plugin-import。


为什么用eslint-config-airbnb-base?
因为当前业界最火的ESlint规范就是 Airbnb ,而 Airbnb 也分两种插件:
eslint-config-airbnb:自带兼容React规则
eslint-config-airbnb-base:提供 Airbnb 的基本 JS .eslintrc(没有 React 插件)作为可扩展的共享配置,vue项目装这个

后续会持续更新eslint-config-airbnb-base踩坑过程 
安装指令:npm i eslint-plugin-import -D
支持 ES2015+ (ES6+) 导入/导出语法的 linting
顾名思义,是对导入的模块进行排序,并防止文件路径和导入名称拼写错误的问题
对比排序前后代码,排序后的代码看起来更整洁,
react全家桶、外部库、公共组件、子组件、api、工具类依次排列。

 

// 演示代码
{
  extends: [
    'plugin:import/errors', // 添加这个
    'plugin:import/warnings', // 添加这个
  ],
  plugins: [
    'import', // 添加这个
  ],
  rules: {
    'import/no-unresolved': [2, { commonjs: true, amd: true }], // 添加这个
    'import/named': 2, // 添加这个
    'import/namespace': 2, // 添加这个
    'import/default': 2, // 添加这个
    'import/export': 2 // 添加这个
  },
};

使用eslint-plugin-import插件后一堆报错

百度谷歌查找过都说是使用的vue-router包不对安装了2.x版本的,
vue3也要对应安装vue3版本的vue-router包。
安装指令:npm install vue-router@next --save
但我是根据官网教程进行安装的:https://router.vuejs.org/zh/installation.html
安装指令:npm install vue-router@4
确定是vue3版本的vue-router包。
其实vue-router@4与vue-router@next --save只是小版本号不同:

 

最终还是看eslint-plugin-import 官方git仓库文档解决了问题:

https://github.com/import-js/eslint-plugin-import#resolvers
设置以下代码,然后重启编辑器
 
展示下相关代码全家福:

 

总结:
问题解决过程弯弯曲曲,有疑问还是得先看官方文档
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章