我希望使用模块别名转换类型记录项目中的别名路径。首先,我安装模块-别名:
yarn add module-alias在package.json中添加配置如下:
"_moduleAliases": {
"@": "."
}但是,当我使用@导入模块时,会显示如下错误:
Cannot find module '@/auth/extension/AuthHandler'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?ts(2792)AuthHandler路径是src/auth/extension/AuthHandler,为什么没有找到模块?我该怎么做才能让它发挥作用?
发布于 2022-10-25 15:45:32
TLDR
在index.ts/starter文件中
import moduleAlias from "module-alias";
moduleAlias.addAlias("@fn", __dirname);以及匹配的tsconfig声明:
[...]
"paths": {
"@fn/*": ["./src/*"]
},
[...]不长,想读
在与此进行了相当长时间的斗争之后,我最终从_moduleAlias中删除了package.json条目,并在index.ts中注册了别名,如下所示:
moduleAlias.addAliases({
"@fn/*": `${__dirname}/lib/src`,
});然而,这也不是一蹴而就。这个片段有两个问题:
/path/to/module/@aliased_folder/sub,贪婪运算符的使用导致这个路径:@aliased_folder/sub__dirname和输出文件夹lib/src在路径中创建了一个重复,例如:/ path /to/ my /lib/src/lib/src/aliased因此,我最后提出了以下工作案文:
import moduleAlias from "module-alias";
moduleAlias.addAlias("@fn", __dirname);https://stackoverflow.com/questions/71089748
复制相似问题