我在文件中有这两个import语句:
import Data from 'component/Data.js';
import Data from 'actions/Data.js';
这两个文件都包含一个名为Data
的类。
我如何指定哪个是哪个?我怎样才能避免姓名冲突?
答案 0 :(得分:81)
大概component/Data
和actions/Data
都有默认出口而不是名为出口?像这样:
export default class Data {}
如果是这种情况,则导入器可以随意调用变量:
import Data1 from 'component/Data.js';
import Data2 from 'actions/Data.js';
如果它们被命名为exports:
export class Data {}
然后,您需要使用大括号和as
来指定源名称和目标名称:
import { Data as Data1 } from 'component/Data.js';
import { Data as Data2 } from 'actions/Data.js';
答案 1 :(得分:4)
编辑:根据RGraham的回答,更新我的回答:
你不能像这样导入它:
import {Data as D1} from 'component/Data.js';
import {Data as D2} from 'actions/Data.js';
然后根据需要使用它:
D1.{}
D2.{}
引自:https://github.com/lukehoban/es6features/blob/master/README.md/#user-content-modules