NodeJS
var Model = {
attributes: {
title: {
type: 'string',
required: true
}
count: {
type: 'integer',
defaultTo: 1
}
}
}
mysql • mongo • redis • postgres • ldap • neo4js
exports.index = function(req, res){
res.render('index', { title: 'Home' })
}
exports.list = function(req, res, next){
if (error) return next(error)
res.redirect('/tasks')
}
module.exports = {
hi: function (req, res) {
return res.send("Hi there!");
},
bye: function (req, res) {
return res.redirect("http://www.url.com");
}
}
exports.index = function(req, res){
res.render('index', { title: 'Home' })
}
exports.list = function(req, res, next){
if (error) return next(error)
res.redirect('/tasks')
}
var http = require('http')
http.createServer(app).listen(app.get('port'),
function(){
console.log('Listening on port ' + app.get('port'))
}
)
app.get('/', routes.index)
var server = new Hapi.Server()
server.start(function () {
console.log('Server started at: ' + server.info.uri)
})
server.route({
path: '/',
method: 'GET',
handler: showIndex
})
var http = require('http')
http.createServer(app).listen(app.get('port'),
function(){
console.log('Listening on port ' + app.get('port'))
}
)
app.get('/', routes.index)
define(['lazoServer'], function (LazoServer) {
return LazoServer.extend({
setup: function (hapi, pack, servers, options) {
pack.register({
plugin: require('good'),
options: {
...
}
}, function (err) {
if (err) {
LAZO.logger.error('[server.setup]', 'Error: ' + err)
} else {
LAZO.logger.info('[server.setup]', 'Monitoring:')
options.success()
}
})
}
})
})
/assets
/public
/config
/view
/api
/app.js
/public
/routes
/views
/assets
/public
/config
/view
/api
/app
/component
/models
/app.js
/public
/routes
/views
/public
--> img
--> css
--> js
/server
--> config
--> controllers
--> models
--> views
Full-Stack
SEO by URI Routes
Easier + Configurable HTTP Server I/O • Scaffolding
HTTP Server I/O
MVC • DB Adapters
Integrated Sockets • ORM
API Optimized
Built-in Auth • Config+