在CoffeeScript模块中导出对象的优雅方法是什么?

时间:2016-07-28 09:10:01

标签: javascript node.js coffeescript

我在CoffeeScript模块中有几个函数:

func1 = () -> ...
func2 = () -> ...
func3 = () -> ...
func4 = () -> ...

如果我想清楚地说明它们的来源(不搜索定义),我会避免将它们设为全局(@func1 = ...@func2 = ...),并坚持使用更多内容显式语法:

helpers = require('/lib/helpers.coffee')

但这需要像

这样的东西
meteor.exports.func1 = func1
每次都重复一次。或

meteor.exports.func1 = () -> ...

但是这样在内部调用它们就更难了。

我知道ES6有一个优雅的语法,如{var1, var2, ...},但在CoffeeScript中有类似的东西吗?

1 个答案:

答案 0 :(得分:2)

func1 = () ->
func2 = () ->
module.exports = {func1, func2}

编译为:

var func1, func2;
func1 = function() {};
func2 = function() {};
module.exports = {
  func1: func1,
  func2: func2
};