我使用 Express Middleware 概念来实现同样的目的,这为我管理文件提供了很好的灵活性。
我正在写一个详细的答案,其中包括我如何使用 app.js 中的配置参数连接到数据库。
So my app structure looks something this:
我如何连接到数据库? (我使用的是MongoDB,mongoose是ORM,npm install mongoose)
var config = require('./config/config');
var mongoose = require("mongoose");
var connect = function(){
var options = {
server: {
socketOptions:{
keepAlive : 1
}
}
};
mongoose.connect(config.db,options);
};
connect();
在 config 文件夹下,我还有“env”文件夹,它将与环境相关的配置存储在单独的文件中,例如development.js、test.js、生产.js
顾名思义,development.js 存储与我的开发环境相关的配置参数,这同样适用于测试和生产的情况。现在,如果您愿意,您可以进行更多配置设置,例如“暂存”等。
项目名称/config/config.js
var path = require("path");
var extend = require("util")._extend;
var development = require("./env/development");
var test = require("./env/test");
var production = require("./env/production");
var defaults = {
root: path.normalize(__dirname + '/..')
};
module.exports = {
development: extend(development,defaults),
test: extend(test,defaults),
production: extend(production,defaults)
}[process.env.NODE_ENV || "development"]
项目名称/config/env/test.js
module.exports = {
db: 'mongodb://localhost/mongoExpress_test'
};
现在,您可以通过将 URL 分解为用户名、密码、端口、数据库、主机名来使其更具描述性。
有关更多详细信息,请查看my repo https://github.com/narendrasoni1989/BlogApp,您可以在其中找到此实现,事实上现在在我的所有项目中我都使用相同的配置。
如果您更感兴趣,请看一下Mean.js http://meanjs.org/ and Mean.io http://mean.io,他们有一些更好的方法来管理所有这些事情。如果您是初学者,我建议保持简单并让事情继续下去,一旦您感到舒服,您就可以自己表演魔术。干杯