ecmascript-6 - 如何在 javascript/es6 中导入两个同名的类?

标签 ecmascript-6

我的文件中有这两个导入语句:

import Data from 'component/Data.js';
import Data from 'actions/Data.js';

这两个文件都包含一个名为Data的类。

如何指定哪个是哪个?如何避免名称冲突?

最佳答案

大概component/Dataactions/Data都有默认导出而不是命名导出?像这样:

export default class Data {}

如果是这种情况,那么导入器可以随意调用变量:

import Data1 from 'component/Data.js';
import Data2 from 'actions/Data.js';

如果它们被命名为导出:

export class Data {}

然后您需要使用大括号和 as 来指定源名称和目标名称:

import { Data as Data1 } from 'component/Data.js';
import { Data as Data2 } from 'actions/Data.js';

关于ecmascript-6 - 如何在 javascript/es6 中导入两个同名的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34714947/

相关文章:

javascript - array.find() 返回项目和索引

javascript - 如何避免在javascript中等待 hell

javascript - 使用 ES6 过滤带有数组的对象

javascript - 如何将 redux 与 fela 一起使用并使用react?

javascript - 如何在 JavaScript 中编写 FizzBu​​zz 而不使用 % 运算符

javascript - 如何使用 redux 选择列表项?

javascript - 了解 ES6 命名导入

javascript - 使用 React 时,在构造函数中使用粗箭头函数还是绑定(bind)函数更可取?

javascript - 如何访问新状态 Prop 中的其他状态/属性值

javascript - 如何在 JavaScript 中高效地进行数组比较