javascript - babel 如何理解何时导入本地路径以及何时从同名库中导入?
问题描述
今天我意识到,在我们的代码库中,我们使用了一些指向源代码根目录的绝对导入。此文件夹名为 redux 并包含 redux 操作。进口看起来像这样
import * as actions from 'redux/actions/actions'
当然,我们也使用 redux 并像这样进行正常的 redux 导入,甚至在同一个文件上也有很多次:
import { ... } from 'redux'
看着 webpack 的别名,我发疯了,但没有人指向那个 redux 文件夹。我尝试添加它,然后构建开始失败,因为我们的本地文件夹不包含我们从 redux 实际导入的内容,所以我删除了别名,一切又开始工作了。
在疯狂地试图理解这是如何工作的之后,有人指着这个 babel 配置:
[
'module-resolver',
{
root: ['./src'],
alias: {
icons: './assets/icons',
},
},
],
这有效地将任何导入指向我们源代码的根文件夹,因此可以进行任何导入。但是,我仍然不明白 babel 是如何理解何时从我们的本地文件系统导入以及何时在节点模块上使用该库的。我们正在使用 babel 核心 7.9.0
解决方案
推荐阅读
- angular - 如何仅在特定路线上显示元素?
- react-native - onSubmitEditing 在每次按键时触发
- c++ - BGR -> YCbCr 转换无法正常工作
- vue.js - 将数据传递给路由的组件 beforeEnter
- python - 异步使用时 Ansible 失败
- big-o - 如果我在 for 循环中的终止语句是 i < n * n ,那么我的运行时间是 O(n^2) 吗?
- python - 当 df 只有 1 行时,使用 np.column_stack 创建数据框
- java - 此代码的答案对于每个输入都是错误的,无论它是正确还是错误
- java - 为什么在这个树遍历中只有 log(N) 递归调用?
- image - 如何在mac上压缩(调整大小?)> 60k图像?