© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
// Require what we need
var http = require("http");
// Build the server
var app = http.createServer(
function (request, response) {
response.writeHead(200, {
"Content-Type": "text/plain"
});
response.end("Hello world!");
});
// Start that server
app.listen(1337, "localhost");
console.log("Server running at http://localhost:1337/");
var http = require("http");
http.createServer(function (req, res) {
// Homepage
if (req.url == "/") {
res.writeHead(200, { "Content-Type": "text/html" });
res.end("Welcome to the homepage!");
}// About page
else if (req.url == "/about") {
res.writeHead(200, { "Content-Type": "text/html" });
res.end("Welcome to the about page!");
}
// 404'd!
else {
res.writeHead(404, { "Content-Type": "text/plain" });
res.end("404 error! File not found.");
}
}).listen(1337, "localhost");
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
function myFunMiddleware(request, response, next) {
// Do stuff with the request and response.
// When we're all done, call next() to defer
// to the next middleware.
next();
}
Middleware Middleware Middleware
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
var connect = require("connect");
var http = require("http");
var app = connect();
http.createServer(app).listen(1337);
// Add some middleware
app.use(function (request, response) {
response.writeHead(200, { "Content-Type": "text/plain"
response.end("Hello world!n");
});
// Add some middleware
app.use(connect.logger());
app.use(connect.Security);
app.use(connect.Routing);
...
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
var express = require("express");
var http = require("http");
var app = express();
app.all("*", function (request, response, next) {
response.writeHead(200, { "Content-Type": "text/plain" });
next(); });
app.get("/", function (request, response) {
response.end("Welcome to the homepage!"); });
app.get("/about", function (request, response) {
response.end("Welcome to the about page!"); });
app.get("*", function (request, response) {
response.end("404!"); });
http.createServer(app).listen(1337);
app.get('/users/:id?', function (req, res, next)
{
var id = req.params.id;
if (id) {
// do something
} else {
next();
}
});
{
path: '/user/:id?',
method: 'all' | 'get' | 'post' | 'put' | 'delete',
callbacks: [ [Function] ],
keys: [ { name: 'id', optional: true } ],
regexp: /^/user(?:/([^/]+?))?/?$/i,
params: [ id: '12' ]
}
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
// home.js file in Routing folder.
module.exports = function (app) {
// home page
app.get('/', function (req, res) {
res.render('index', { title: 'Home Page. ' })
});
// about page
app.get('/about', function (req, res) {
res.render('about', { title: 'About Me. ' })
});
}
var express = require("express");
var http = require("http");
var app = express();
// Include a route file
require('./routes/home')(app);
http.createServer(app).listen(1337);
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
app.get('/users/:id?', function (req, res, next) { ... }
'/:controller/:action/:id'
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
// all environments
app.configure(function() {
app.set('title', 'My Application');
});
// development only
app.configure('development', function() {
app.set('db uri', 'localhost/dev');
});
// production only
app.configure('production', function() {
app.set('db uri', 'n.n.n.n/prod');
});
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
app.use( express.bodyParser() );
app.put('/', function(){
console.log(req.body.user);
res.redirect('back');
});
<form method="post" action="/">
<input type="hidden" name="_method" value="put" />
<input type="text" name="user[name]" />
<input type="text" name="user[email]" />
<input type="submit" value="Submit" />
</form>
app.use(express.bodyParser());
app.use(express.methodOverride());
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
function NotFound(msg) {
this.name = 'NotFound';
Error.call(this, msg);
Error.captureStackTrace(this, arguments.callee);
}
NotFound.prototype.__proto__ = Error.prototype;
app.get('/404', function (req, res) {
throw new NotFound;
});
app.get('/500', function (req, res) {
throw new Error('keyboard cat!');
});
app.error(function (err, req, res, next) {
if (err instanceof NotFound) {
res.render('404.jade');
} else {
next(err);
}
});
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(function(err, req, res, next){
// logic
});
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(logErrors);
app.use(clientErrorHandler);
app.use(errorHandler);
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
// Start Express
var express = require("express");
var app = express();
// Set the view directory to /views
app.set("views", __dirname + "/views");
// Let's use the Jade templating language
app.set("view engine", "jade");
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
app.get('/', function (req, res) {
res.render( 'index.jade', { title: 'My Site' } );
});
View file
Model
© 2014 All rights reserved. Tel: 054-5-767-300, Email: evardi@gmail.com
res.render('page',
{ layout: 'mylayout.jade'
});
partial('header', headerData );Partial View
Partial View
View
Layout
partial('footer', footerData );
Node.js  Express
Node.js  Express