ES6导出默认功能

时间:2016-02-21 20:50:54

标签: javascript ecmascript-6 babeljs

我可以为每个文件导出多个函数吗? 看起来当我这样做时,第二个函数会抛出第一个函数,

示例: 在my index.js文件中:

export default function aFnt(){
    console.log("function a");
}
export default function bFnt(){
    console.log("function b");
}

然后当我在我的文件中导入它时:

import aFnt from "./index";

console.log("aFnt : ",aFnt);

console.log的结果是bFnt

这究竟是什么情况?我是否必须为每个功能创建一个新文件?这不是很实用,任何解决方案或解决方法?

3 个答案:

答案 0 :(得分:37)

如果要导入命名函数,

madox2's答案完全有效。

如果您仍想导入默认值,还有另一种技巧:

function a() {}

function b() {}

export default { a, b }

以及导入时:

import myObject from './index.js';

myObject.a(); // function a
myObject.b(); // function b

我希望这有帮助!

答案 1 :(得分:13)

您可以使用named export代替默认值:

export function aFnt(){
    console.log("function a");
}
export function bFnt(){
    console.log("function b");
}

并将其导入为:

import {aFnt, bFnt} from "./index";

答案 2 :(得分:0)

有多种方法可以导出和导入对象/函数

go get -u --tags nopkcs11
github.com/hyperledger/fabric/core/chaincode/shim

在其他档案中

go build --tags nopkcs11

如果要使用默认值,通常如果文件中只有一个导出,则它应该是默认导出。但是如果你出于某些原因想要两个函数作为默认值,那么你必须将它们作为一个对象进行控制并将该对象导出为默认值

export function first() {}
export function second() {}

在其他档案中

import { first, second} from './somepath/somefile/';

这应该是它。