无法在TypeScript和NodeJS中使用绝对路径导入

3

我尝试了很多方法来解决这个问题。 我正在尝试从我的 tsconfig.json 中定义的绝对路径导入。

在我的项目文件中,我正在尝试使用 import { UserModel } from "model/User";

而且,在我的 tsconfig.json 文件中,我有以下配置:

{
....
"baseUrl": "src", 
"paths": {
  "model/*": ["model/*"]`
  }
....
}

我尝试将baseUrl更改为".""./"并更改路径,但我始终会得到相同的错误:
Error: Cannot find module 'model/User'

我也尝试将 index.ts 文件添加到 model 文件夹中并从那里导出模型,但仍然存在相同的问题。任何帮助都将不胜感激。

1个回答

1
如果您正在编写一个包,那么您可能需要使用ttypescript库+@zerollup/ts-transform-paths插件-它们会完成这项工作。此外,构建您的包将不得不使用ttsc而不是tsc
另一方面,如果您正在使用打包程序(例如webpack)来捆绑代码,则必须使用打包程序配置提供的方法。
此外,如果您正在使用ESLint,则必须确保它使用eslint-import-resolver-typescript npm软件包通过tsconfig.json
还有,如果您正在使用Jest进行单元测试,您将不得不像这样枚举可能的“根”:
  moduleDirectories: ['node_modules', 'src'],

兄弟,感谢你的回答。我安装了插件,发现了4个漏洞,其中2个非常重要。你不知道还有其他方法吗? - Lheonair
1
嘿嘿!好的,这个应该是仅限服务器构建时使用的工具,所以我实际上没有深入研究“漏洞”这个话题。在过去,这对我来说是最简单的使其正常工作的方法,而且我仍然继续使用这种方法。 - Kostiantyn Ko
太酷了!谢谢你的帮助,感激不尽。 - Lheonair

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接