模块编程:节点require()和ES6导出

所以我想编程一个模块,但我希望它能与Node的require / module.exports系统和ES6 export关键字一起工作。 我想知道是否有

  1. 一个条件expression式,可以让我确定“谁在问这个模块, require()还是import ? 要么
  2. 一种实现BOTH module.exports的方式。 exportexport没有Node@0.10+ export关键字的怪事。

这主要是因为我的代码与当前可用的技术兼容,并在今年晚些时候在ES6交换机之后向后兼容。 另外,我正在教我的同事使用JS进行编程,并希望帮助他们学习使代码模块化。 由于我们离ES6交换机非常近,所以教他们一个包容性更强的方法比教他们两种方式要求他们记得什么时候使用每个方法更容易。 如果答案是“没有办法”,我只需要教他们一个,并把另一个作为一个小方面的说明。

一如既往,感谢大家提供的任何帮助。 祝你有美好的一天。