繁体   English   中英

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

[英]Eslint + typescript paths aliasing - Unable to resolve path to module

我为路径添加 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"
    }),
  ],
},

这是 my.eslint 文件:

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

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

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

一切都组装好了,编译器没有产生错误但是我在 eslint 中得到错误:

ESLint:无法解析模块“@folder/component”的路径。(导入/未解析)

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM