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

标签 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 导出的情况下执行此操作。

最佳答案

在 ES6 中,你可以使用 export 和 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

关于javascript - 我如何在 es6 中使用 module.exports.function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54810797/

相关文章:

javascript - 如何使用 HTML、CSS、Javascript 在可编辑字段中垂直输入文本?

javascript - 在 itemclick 上更改网格 tpl 内的圆圈背景颜色

javascript - Highcharts 未按日期提取 - 日期被解释为字符串

javascript - 仅当不靠近 messages div 的底部时,保持滚动位置才有效

javascript - 如何转发到浏览器的主页(谷歌浏览器)

reactjs - 在 React 应用程序中测试 Select 元素

reactjs - 遍历 child ,找到最后一个元素

javascript - Object.assign——覆盖嵌套属性

javascript - 按对象键减少/过滤对象数组

javascript - 从 chrome 开发者控制台删除 JavaScript 函数(用 let 声明)