首页 > 解决方案 > 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

标签: javascriptbabeljs

解决方案


推荐阅读