导出一个充满函数的默认函数是不好的做法?

时间:2017-04-19 16:56:37

标签: javascript ecmascript-6

我是es6模块的新手,我觉得我可能会以一种被认为是不好的方式来做这件事。以下是关于我如何接近它的一般概念:

app.js

import head from './head';
head();

head.js

const eyes = () => {
}
const nose = () => {
}
const mouth = () => {
}

export default function() {
   eyes();
   nose();
   mouth();
}

1 个答案:

答案 0 :(得分:2)

  

导出一个充满函数的默认函数是不好的做法吗?

不,这不是一个坏习惯。导出调用一堆其他函数的函数没什么问题。您只是导出一个函数。如果单个函数选择通过调用一堆其他函数来完成它的工作,那就完全没问题。

请记住,export的概念只是一种从一个模块到另一个模块共享功能或数据的方法。您只是导出一个功能。如何实现该功能(无论是否调用其他功能)与导出或ES6或模块完全无关。如果它是一个适合该功能的内部设计来调用你的其他功能来完成它的工作,那么这完全没问题,而且与导出它的事实无关。

通过不导出函数eyesnosemouth,您只是将它们设置为模块的私有(因此它们只能从模块中调用),这是完美的精心设计的决定,如果它们是专用于您的模块,或者在其他地方根本不需要它们。