Tagged with " expressjs"
Sep 18, 2012 - node.js    1 Comment

Node.js Express.js 学习笔记(3)

在Express.js 2.x的版本中一直存在着一个叫layout.ejs的页面布局模板,他的基本代码如下:

<!DOCTYPE html>
<html>
	<head>
		<title><%= title %></title>
		<link rel='stylesheet' href='/stylesheets/style.css' />
	</head>
	<body>
		<%- body %>
	</body>
</html>

Read more »

Sep 13, 2012 - node.js    No Comments

Node.js Express.js 学习笔记(2)

动态路由的匹配,假设我们有这样一根路径 /user/[username], 每次输入的username都不一样,我们要在页面上打出不同的用户名。
在app.js添加以下代码:

app.get('/user/:username', function(req,res){
  res.send('username: ' + req.params.username);
});

启动app.js, 访问 http://127.0.0.1:3000/user/aresli,
可以看到页面上出现了 username: aresli

这样的代码明显耦合度太高,不便于维护。也没有用到模板。一看就是屌丝代码。把这段代码改成高帅富专用的模板引擎。
app.js里改成:
Read more »

Sep 10, 2012 - node.js    No Comments

Node.js Express.js 学习笔记(1)

先来看一下生成的app.js的代码,这是项目的入口:

/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require('./routes')
  , user = require('./routes/user')
  , http = require('http')
  , path = require('path');

var app = express();

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'ejs');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(express.cookieParser('your secret here'));
  app.use(express.session());
  app.use(app.router);
  app.use(require('stylus').middleware(__dirname + '/public'));
  app.use(express.static(path.join(__dirname, 'public')));
});

app.configure('development', function(){
  app.use(express.errorHandler());
});

app.get('/', routes.index);
app.get('/users', user.list);

http.createServer(app).listen(app.get('port'), function(){
  console.log("Express server listening on port " + app.get('port'));
});

Read more »

Sep 7, 2012 - node.js    No Comments

Hello Express

Express作为Node.js官方唯一推荐的一个Web开发框架, 是我们一定要掌握的。

快速安装到global目录:

$ sudo npm install -g express


Read more »