Zec*_*eck 5 javascript node.js coffeescript express
我是 JavaScript/Nodejs 的新手。如何在 Nodejs 应用程序中共享我的配置。例如:我有一个config/config.coffee
path = require("path")
module.exports = {
development:
db: 'mongodb://localhost/hello'
root: rootPath = path.normalize(__dirname + '/..')
}
Run Code Online (Sandbox Code Playgroud)
我包括config.coffee在我的app.coffee.
express = require("express")
# Load configurations
env = process.env.NODE_ENV || 'development'
config = require("./config/config")[env]
require('./config/boot')
app = express()
Run Code Online (Sandbox Code Playgroud)
现在我想将config变量包含到我的config/boot.coffee. 我该怎么做?我不想重新包含config/config.coffee到config/boot.coffee. 这是我的config/boot.coffee文件:
env = process.env.NODE_ENV || 'development'
config = require("./config")[env]
fs = require("fs")
mongo = require("mongoose")
# Bootstrap db connections
mongo.connect config.db
# Bootstrap models
models_path = config.root+"/app/models"
fs.readdirSync(models_path).forEach( (file)->
require(models_path + '/' + file) if ~file.indexOf('.coffee')
)
# Bootstrap services
services_path = config.root+"/app/services"
fs.readdirSync(services_path).forEach( (file)->
require(models_path + '/' + file) if ~file.indexOf('_service.coffee')
)
Run Code Online (Sandbox Code Playgroud)
抱歉英语不好:(
您可能想查看nconf,它可以帮助您保持一种应用程序配置的“瀑布”方法,从而允许您非常透明地混合来自不同来源的配置。
您可以在我编写的unbox项目中看到 nconf 的实际应用,它基本上是我在 Node 上编写的应用程序使用的样板文件。您可以在此处查看如何加载配置。
您可以使用grunt-pemcrypt之类的工具通过签入安全的加密文件并将加密密钥保存在安全的地方来提高安全性。
12factor还有一个很好的应用程序配置方法,您可能想研究一下。
| 归档时间: |
|
| 查看次数: |
2014 次 |
| 最近记录: |