React & FuseBox 别名设置 - 绝对路径
React & FuseBox alias settings - Absolute Paths
我正在使用带有 FuseBox 的 React 作为打包器。我目前遇到的问题是别名不起作用,因此我可以帮助处理相对路径问题。
我的项目结构:
stores
文件夹有我的 MobX 商店和一个导出所有商店的 index.ts 文件。
services
有一堆服务 类 全部导出到各自的文件中(没有 index.ts)
所以在我的 fuse.ts 我有:
alias: {
"services": "~/services",
"stores": "~/stores"
},
然后在我的 ui
文件夹中,例如我正在导入:
import AccountStore from "stores";
我在 "stores" 的那一行收到 [ts] Cannot find module 'stores'
错误。
不确定我的别名部分是否有误?我在 fuse.ts 中的 homeDir 设置为 "src/"。当我们使用 webpack 设置绝对路径时,我没有在 tsconfig 中设置任何路径或 baseUrl。不确定是否再次需要这些,或者这是我在使用别名时做错了什么。
任何提示都会很棒 :)
我查看了 fusebox 站点上的别名文档并按照它进行操作并尝试了几种不同的组合,但没有更接近于它的工作。会喜欢已经成功的人的一些例子。
编辑:
在尝试解决这个问题时,我还做了以下工作:
- 删除
.fusebox
文件夹
- 重新启动vscode
- 已经检查了捆绑包,它在那里添加了波浪号,所以保险丝盒一定能识别它?
会继续添加更多的东西我试试..
我遇到的问题的解决方案是将 tsconfig.json 文件放入我的 src
文件夹并将 project/app 放入 ~
.
在 tsconfig.json 中,我将 baseUrl 设置为 root。
{
"compilerOptions": {
"baseUrl": ".",
// ...
}
}
这让我可以进行绝对导入,所有文件都相同,因此可以轻松重用导入并在需要时快速复制。
import { service1, service2, service3 } from '~/services';
import { store1, store2 } from '~/stores';
波浪号在很多系统上通常代表 home 或 base,因此一些开发人员同意在我们的文件夹结构中使用它是合适的。如果你有自动生成的东西并且它自动在那里,你必须记住从 .gitignore
中删除 ~
。
我正在使用带有 FuseBox 的 React 作为打包器。我目前遇到的问题是别名不起作用,因此我可以帮助处理相对路径问题。
我的项目结构:
stores
文件夹有我的 MobX 商店和一个导出所有商店的 index.ts 文件。
services
有一堆服务 类 全部导出到各自的文件中(没有 index.ts)
所以在我的 fuse.ts 我有:
alias: {
"services": "~/services",
"stores": "~/stores"
},
然后在我的 ui
文件夹中,例如我正在导入:
import AccountStore from "stores";
我在 "stores" 的那一行收到 [ts] Cannot find module 'stores'
错误。
不确定我的别名部分是否有误?我在 fuse.ts 中的 homeDir 设置为 "src/"。当我们使用 webpack 设置绝对路径时,我没有在 tsconfig 中设置任何路径或 baseUrl。不确定是否再次需要这些,或者这是我在使用别名时做错了什么。
任何提示都会很棒 :)
我查看了 fusebox 站点上的别名文档并按照它进行操作并尝试了几种不同的组合,但没有更接近于它的工作。会喜欢已经成功的人的一些例子。
编辑: 在尝试解决这个问题时,我还做了以下工作:
- 删除
.fusebox
文件夹 - 重新启动vscode
- 已经检查了捆绑包,它在那里添加了波浪号,所以保险丝盒一定能识别它?
会继续添加更多的东西我试试..
我遇到的问题的解决方案是将 tsconfig.json 文件放入我的 src
文件夹并将 project/app 放入 ~
.
在 tsconfig.json 中,我将 baseUrl 设置为 root。
{
"compilerOptions": {
"baseUrl": ".",
// ...
}
}
这让我可以进行绝对导入,所有文件都相同,因此可以轻松重用导入并在需要时快速复制。
import { service1, service2, service3 } from '~/services';
import { store1, store2 } from '~/stores';
波浪号在很多系统上通常代表 home 或 base,因此一些开发人员同意在我们的文件夹结构中使用它是合适的。如果你有自动生成的东西并且它自动在那里,你必须记住从 .gitignore
中删除 ~
。