0

查看来自https://github.com/twilson63/express-coffee/blob/master/src/config/index.coffee#L13的代码有以下内容:

#### Config file
# Sets application config parameters depending on `env` name
exports.setEnvironment = (env) ->
  console.log "set app environment: #{env}"
  switch(env)
    when "development"
      exports.DEBUG_LOG = true
      exports.DEBUG_WARN = true
      exports.DEBUG_ERROR = true
      exports.DEBUG_CLIENT = true
      exports.DB_HOST = 'localhost'
      exports.DB_PORT = "3306"
      exports.DB_NAME = 'mvc_example'
      exports.DB_USER = 'root'
      exports.DB_PASS = 'root'

    when "testing"
      exports.DEBUG_LOG = true
      exports.DEBUG_WARN = true
      exports.DEBUG_ERROR = true
      exports.DEBUG_CLIENT = true

    when "production"
      exports.DEBUG_LOG = false
      exports.DEBUG_WARN = false
      exports.DEBUG_ERROR = true
      exports.DEBUG_CLIENT = false
    else
      console.log "environment #{env} not found"

当我尝试输出时,modules.export我从控制台得到一个空数组!

exports.DB_NAME例如,如果我有一个需要此信息的模块,如何正确使用?

console.log config.DB_NAME返回undefined从另一个模块调用的 if。

非常感谢任何建议。

4

1 回答 1

0

当您需要特定模块时,任何设置exports的属性都可用作返回的对象的属性。但是,在这种情况下,首先只设置了一个属性:setEnvironment函数。其余的起初只是未定义的。

像这样使用它:

  config = require "./config" # the right path depends on where you're requiring from
  config.setEnvironment "development" # or "testing", "production"
  console.log config.DEBUG_LOG
  console.log config.DB_Name
于 2013-05-20T16:50:50.067 回答