You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solid.js项目ESLint解析TSX组件导入路径规则冲突问题

Solid.js 项目TSX组件导入ESLint规则冲突修复方案

问题现象

开发Solid.js项目时导入TSX组件会触发双向ESLint报错:

  • 导入路径省略.tsx扩展名时,ESLint提示无法解析对应模块路径
  • 导入路径携带.tsx扩展名时,ESLint提示应当移除文件扩展名
    现有配置存在规则逻辑冲突,且缺少TypeScript路径解析能力,两种写法均无法通过校验。

问题根源

  1. 项目使用airbnb-base规则集自带的eslint-plugin-import做导入校验,但未安装TypeScript对应的路径解析器,插件无法识别.ts/.tsx类TypeScript文件的无后缀导入
  2. 现有import/extensions规则配置缺少对npm包的忽略,且未和解析器能力对齐,导致规则校验和路径解析逻辑打架

修复步骤

  1. 安装缺失的TypeScript导入解析依赖
# npm 执行
npm i -D eslint-import-resolver-typescript

# pnpm 执行
pnpm add -D eslint-import-resolver-typescript

# yarn 执行
yarn add -D eslint-import-resolver-typescript
  1. 调整.eslintrc.yaml配置,新增解析器设置,修正导入扩展名规则
    完整可用配置参考如下:
env:
  browser: true
  es2021: true
extends:
  - airbnb-base
  - eslint:recommended
  - plugin:solid/typescript
  - prettier
parser: "@typescript-eslint/parser"
parserOptions:
  ecmaVersion: latest
  sourceType: module
plugins:
  - prettier
  - simple-import-sort
  - solid
  - "@typescript-eslint"
# 新增import插件解析器配置,支持TypeScript路径识别
settings:
  import/resolver:
    typescript:
      alwaysTryTypes: true
      # 若项目tsconfig.json不在根目录,可取消下行注释指定路径
      # project: ./tsconfig.json
rules:
  # 修正扩展名校验规则,忽略npm包校验,覆盖所有前端常用脚本扩展名
  import/extensions:
    - error
    - ignorePackages
    - tsx: never
      ts: never
      jsx: never
      js: never
  prettier/prettier:
    - error
  simple-import-sort/imports: error
  simple-import-sort/exports: error
  1. 重启ESLint服务生效
    编辑器(如VS Code)可通过命令面板执行ESLint: Restart ESLint Server重启服务,命令行场景直接重新执行ESLint校验命令即可。

效果说明

修复后导入TSX/TS/JSX/JS文件统一省略扩展名即可,不会触发路径解析错误;若携带扩展名会按规则提示移除,符合Solid.js官方模板及Vite等构建工具的默认导入习惯,无规则冲突。

内容的提问来源于stack exchange,提问作者mathletedev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 01:27:18