function setup(cbSetup) { // create express server app.server = express(); // read setting app.setting = tool.getDefaultSetting(__dirname); var siteSetting = require('./setting').setting; //console.log('site setting:', siteSetting); app.setting = _.extend(app.setting, siteSetting); // setup swig as view engine app.server.engine('html', cons.swig); app.server.set('views', path.join(__dirname, 'views')); app.server.set('view engine', 'html'); // setup middleware app.server.use(favicon(path.join(__dirname, app.setting.public_name, 'image', 'favicon.ico'))); app.server.use(compression()); app.server.use(logger('dev')); app.server.use(bodyParser.json()); app.server.use(bodyParser.urlencoded()); app.server.use(cookieParser()); app.server.use(express.static(path.join(__dirname, app.setting.public_name))); // setup database connection if (app.setting.database) { var Database = require(app.setting.database.type + '-database'); app.db = new Database(app, function() { setupModules(app, cbSetup); }); } else { setupModules(app, cbSetup); } }
function setup(cbSetup) { // create express server app.server = express(); // read setting app.setting = tool.getDefaultSetting(__dirname); var siteSetting = require('./setting').setting; //console.log('site setting:', siteSetting); app.setting = _.extend(app.setting, siteSetting); // setup swig as view engine app.server.engine('html', cons.swig); app.server.set('views', path.join(__dirname, 'views')); app.server.set('view engine', 'html'); // setup middleware app.server.use(favicon(path.join(__dirname, app.setting.public_name, 'image', 'favicon.ico'))); app.server.use(compression()); app.server.use(logger('dev')); app.server.use(bodyParser.json()); app.server.use(bodyParser.urlencoded()); app.server.use(cookieParser()); app.server.use(session({ secret:'mykeySproutUp937434', saveUninitialized: true, resave: true, cookie: { maxAge: 120 * 60 * 1000 } //session expires in 120 minutes })); app.server.use(express.static(path.join(__dirname, app.setting.public_name))); // Multer is a node.js middleware for handling multipart/form-data /* app.server.use(multer({ dest: './site/public/file/', rename: function (fieldname, filename) { return filename + Date.now(); }, onFileUploadStart: function (file) { console.log(file.originalname + ' is starting to upload...') }, onFileUploadComplete: function (file) { console.log(file.fieldname + ' is uploaded to ' + file.path) } })); */ app.mailer = null; if (app.setting.email) { app.mailer = new emailEngine.Engine(app.setting.email); } // setup database connection if (app.setting.database) { var Database = require(app.setting.database.type + '-database'); app.db = new Database(app, function() { setupModules(app, cbSetup); }); } else { setupModules(app, cbSetup); } }