我正在将React与FuseBox一起使用。我目前遇到的问题是别名不起作用,因此我可以帮助处理相对路径问题。
我的项目结构:
stores
文件夹中有我的MobX商店和一个导出所有商店的index.ts文件。services
有一堆服务类,所有的服务类都导出到相应的文件中(没有index.ts)
所以在我的保险丝中,我有:
alias: {
"services": "~/services",
"stores": "~/stores"
},
然后在我的ui
文件夹中,例如,我这样导入:
import AccountStore from "stores";
我[ts] Cannot find module 'stores'
在“商店”的那条线上出现错误。
不确定别名部分弄错了吗?我在fuse.ts中的homeDir设置为“ src /”。像在使用webpack设置绝对路径时一样,在tsconfig中没有设置任何路径或baseUrl。不知道是否需要再次使用它们,或者我使用别名做错了什么。
任何提示将是巨大的:)
我查看了保险丝盒站点上的别名文档,并对其进行了跟踪,并尝试了几种不同的组合,但并没有更接近它的工作原理。会喜欢一些已经从这个工作的人的例子。
编辑:尝试解决此问题时,我另外做了以下操作:
.fusebox
文件夹会继续添加更多我尝试的东西。
我遇到的问题的解决方案是将tsconfig.json文件放在我的src
文件夹中,并将项目/应用程序放在其中~
。
在tsconfig.json中,我将baseUrl设置为root。
{
"compilerOptions": {
"baseUrl": ".",
// ...
}
}
然后,这使我可以在所有文件中进行绝对导入,因此可以轻松地重用导入并在需要时快速复制。
import { service1, service2, service3 } from '~/services';
import { store1, store2 } from '~/stores';
代字号通常代表家庭或基于许多系统,因此一些开发人员同意在我们的文件夹结构中使用它是合适的。虽然确实要记住要从中删除~
,.gitignore
如果您有自动生成的内容及其自动存在于其中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句