如何在es6中使用module.exports.function?

时间:2019-02-21 15:35:03

标签: javascript reactjs ecmascript-6

我正在尝试将此代码转换为es6,因此对于我的react项目,但我不知道(没有错误,但无法实现我想做的事情)。

这是文件。

foo.js

module.exports = () => {
console.log("hello default");
}
module.exports.bar = () => {
console.log("one functions");
}


index.js

const foo = require("./foo");
foo();
foo.bar();

我希望不使用NAMED导出即可做到这一点。

2 个答案:

答案 0 :(得分:1)

使用ES6,您可以使用export and import代替require和module.exports

export default () => {
   console.log("hello default");
}
export const bar = () => {
    console.log("one functions");
}

index.js

import foo, { bar} './foo';

foo();
bar();

编辑:为了复制相同的确切行为,您可以利用Javascript函数本质上是对象的事实,并且可以为其分配更多属性

const foo = () => {
  console.log("hello default");
};
foo.bar = () => {
  console.log("one functions");
};

export default foo;

Working demo

答案 1 :(得分:0)

function needsAName () => {
  console.log("hello default");
}

function bar () {
  console.log("one functions");
}

export default {needsAName, bar}

要使用它:

import functions from './Container'

functions.needsAName()
functions.bar()