nodejs建站简单实例,express+jade

新建目录my-site并进入。

package.json

{
    "name": "application-name",
    "version": "0.0.1",
    "private": true,
    "scripts": {
        "start": "node app.js"
    },
    "dependencies": {
        "express": "3.3.4",
        "jade": "1.1.5"
    }
}

执行命令:npm install,安装相关依赖包。

app.js

var express = require('express');
var routes = require('./routes');
var user = require('./routes/user');
var http = require('http');
var path = require('path');
var app = express();
//all environments
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
//development only
if ('development' === app.get('env')) {
    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'));
});

新建目录routes,在routes目录下添加如下两个文件

index.js

exports.index = function(req, res) {
    res.render('index', {title: 'Express'});
};

user.js

exports.list = function(req, res) {
    res.send('respond with a resource');
};

新建views目录,在views目录下添加如下两个文件

layout.jade

doctype html
html
    head
        title = title
        link(rel='stylesheet', href='/stylesheets/style.css')
    body
        block content

index.jade

extends layout
block content
    h1 = title
    p Welcome to #{title}

新建public/stylesheets目录,添加如下文件

style.css

body {
    padding: 50px;
    font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
}
a {
    color: #00B7FF;
}

执行命令:npm start