Module Coffeescript公共文件模块

Module Coffeescript公共文件模块,module,coffeescript,Module,Coffeescript,我有一些常见的文件,如logger、stopwatch、metrics等。现在,我想将它们全部添加到1 common.coffee中,并将这些文件放在lib下的一个公共文件夹中 lib/common/logger.coffee lib/common/metrics.coffee lib/common/stopwatch.coffee lib/common.coffee 现在,当我不得不使用这些文件时。我只是做一个 require( 'lib/common' ) 并且应该能够调用logger类

我有一些常见的文件,如logger、stopwatch、metrics等。现在,我想将它们全部添加到1 common.coffee中,并将这些文件放在lib下的一个公共文件夹中

lib/common/logger.coffee
lib/common/metrics.coffee
lib/common/stopwatch.coffee
lib/common.coffee
现在,当我不得不使用这些文件时。我只是做一个

require( 'lib/common' )
并且应该能够调用logger类

如lib文件中的
logger.info

如何着手做这件事?下面是common.coffee,但它要求我在需要使用它时说“common.logger”。我不想要通用前缀

nconf = require('nconf')

environment = process.env.NODE_ENV || 'development'

nconf.file 'environment', "config/#{environment}.json"
nconf.file 'default', 'config/default.json'

module.exports = {
  logger: require('lib/common/logger')
  metrics: require('lib/common/metrics') nconf
  stopwatch: require('lib/common/stop_watch')
}

此外,我如何制作公用文件夹的模块,以便只使用npm安装它。

您可以在需要时使用解构分配

{logger, metrics, stopwatch} = require("lib/common")
另一种方法是使用grunt.js之类的构建工具,在构建最终部署之前调用concatation任务