`

node的express框架

 
阅读更多

node的express框架

如果你用过Ruby的Sinatra.rb, 会觉得Express非常熟悉。Express作者是参考sinatra, 写了一个基于node.js的实现。

1. 安装

由于这个有点特殊,需要为npm添加-g参数, 刚开始安装的时候没有加,导致不能使用epress 命令行参数
$ npm install -g express
$ epxress -v #看看是否安装成功

2. 创建一个express项目看看

$ express nodeblog
$ cd nodeblog

 3. express目录结构

Express 目录结构 t-1

目录/文件 说明
./  根目录,我们的node.js代码都会方这个目录
 package.json   npm依赖配置文件, 类似ruby中的Gemfile, java Maven中的pom.xml文件. 一会需要在这里添加 markdown-js 项目依赖
 app.js  项目的入口文件

 public/

javascript/

stylesheets/

images/

 存放静态资源文件, jquery/prettify.js等静态库会方这里,当然自己编写的前端代码也可以放这里
 views/   模板文件, express默认采用jade, 当然,你也可以使用自己喜欢的haml,JES, coffeeKup, jQueryTemplate等模板引擎
 node_modules/  存放npm安装到本地依赖包,依赖包在package.json文件中声明,使用npm install指令安装

 

 

4. 运行程序看看

$ npm install

$ node app.js

访问http://localhost:3000/

 

我们看看app.js文件:

 

Java代码  收藏代码
  1. var express = require('express');  
  2.   
  3. var app = module.exports = express.createServer();  
  4.   
  5. // Express 程序配置  
  6. app.configure(function(){  
  7.   app.set('views', __dirname + '/views');  
  8.   app.set('view engine', 'jade');  
  9.   app.use(express.bodyParser());  
  10.   app.use(express.methodOverride());  
  11.   app.use(app.router);  
  12.   app.use(express.static(__dirname + '/public'));  
  13. });  
  14.   
  15. // url路由  
  16. app.get('/', function(req, res){  
  17.   res.render('index', {  
  18.     title: 'Express'  
  19.   });  
  20. });  
  21.   
  22. app.listen(3000);  

 

 

下面代码将url渲染到 index.jade文件, 并且传递title参数:

 

Js代码  收藏代码
  1. app.get('/', function(req, res){  
  2.   res.render('index', {  
  3.     title: 'Express'  
  4.   });  
  5. });  

 

  其中传递变量title, 在views/layout.jade文件中有定义, 我们这里将title改成"Node Blog":

 

Js代码  收藏代码
  1. app.get('/', function(req, res){  
  2.   res.render('index', {  
  3.     title: 'Node Blog'  
  4.   });  
  5. });  

 

修改后效果如下所示:

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics