reactjs - Eslint + typescript 路径别名 - 无法解析模块路径

标签 reactjs eslint tsconfig react-tsx typescript-eslint

我为路径添加了 typescript 配置:

{
 //.....

 "moduleResolution": "node",
{
  "baseUrl": "app",
  "paths": {
  "@app/*": ["*"],
  "@folder/*": ["folder/*"],

  //Other paths
},

为 webpack 添加了配置:

  resolve: {
  extensions: [".tsx", ".ts", ".js", ".jsx", ".css", ".json"],
  alias: {
    "@app":path.resolve(__dirname + "../", "app"),
    "@services":path.resolve(__dirname + "../app", "folder")
  },
  modules: [
    "node_modules", path.resolve(process.cwd(), "app")
  ],
  plugins: [
    new TsConfigPathsPlugin({
      configFile: "../tsconfig.json"
    }),
  ],
},

这是我的 .eslint 文件:

"settings": {
"import/resolver": {
  "node": {
    "paths": [
      "app"
    ],
    "extensions": [
      ".ts",
      ".tsx",
      ".jest.tsx",
      ".d.ts"
    ]
  }
}

之后我尝试导入这样的东西:

import {component} from "@folder/component";

一切都已组装,编译器不会产生错误 但是我在 eslint 中遇到错误:

ESLint: Unable to resolve path to module '@folder/component'.(import/no-unresolved)

第三天我一直在努力解决这个问题 客户不想安装额外的插件 非常感谢您的帮助!

最佳答案

node 解析器不理解 TypeScript paths。所以它专门寻找一个名为 @folder/component 的节点模块 - 它不会存在。

您可以为插件使用 typescript 解析器: https://www.npmjs.com/package/eslint-import-resolver-typescript

关于reactjs - Eslint + typescript 路径别名 - 无法解析模块路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70306158/

相关文章:

reactjs - 如何使用docker部署React(NextJS)项目?

javascript - Reactjs 将变量从另一个类传递给函数

javascript - ESLint 错误 : Unexpected assignment within a 'while' statement

json - "resolveJsonModule"的用途?

node.js - Chessboardjs NPM包,不显示图像

Angular 和 eslint - 未找到规则 '@typescript-eslint/space-infix-ops' 的定义

javascript - eslint规则数组中的数字是什么意思?

typescript - 如何配置 tsconfig.json 将多个源文件夹中的文件输出到单个 flat outDir?

javascript - typescript 路径无法解析

reactjs - 是否有用于 VS Code 的 JSX emmet 在 {} 中而不是引号中围绕 className