以下代码已上传自GitHub:https://github.com/tsora-c/node-express-generator
.
├── app.js-------------------------------------------------入口文件、总路由
├── bin----------------------------------------------------启动目录
│ └── www------------------------------------------------默认监听端口 3000
├── package.json-------------------------------------------包描述文件
├── public-------------------------------------------------静态资源
│ ├── images---------------------------------------------img
│ ├── javascripts----------------------------------------js
│ └── stylesheets----------------------------------------css
│ └── style.css
├── routes-------------------------------------------------路由
│ ├── index.js
│ └── users.js
└── views--------------------------------------------------模板
├── error.jade
├── index.jade
└── layout.jade
7 directories, 9 files
{
"scripts": {
"start": "node ./bin/www" // 启动文件位置
},
"dependencies": { // 项目依赖
}
}
#!/usr/bin/env node
/**
* Module dependencies.
*/
// 声明并引入项目入口文件
var app = require('../app');
// 声明调试器模块
var debug = require('debug')('node-express-generator:server');
// 声明http模块
var http = require('http');
/**
* Get port from environment and store in Express.
*/
// 设置默认监听端口号为3000
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
* Create HTTP server.
*/
// 创建 HTTP 服务
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
// http 监听端口号 及相应事件
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
// 声明并引入相应模块
var createError = require('http-errors');// http 错误响应
var express = require('express');// express
var path = require('path');// 路径
var cookieParser = require('cookie-parser');// cookie解析
var logger = require('morgan');// 记录日志
// 声明并引入路由组件
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
// express对象
var app = express();
// view engine setup
// 模板位置
app.set('views', path.join(__dirname, 'views'));
// 模板引擎 默认为jade;可修改为其它,如html
app.set('view engine', 'jade');
// 使用mogan将请求信息打印在控制台
app.use(logger('dev'));
// 请求解析中间件
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
// 解析请求头里的cookie
app.use(cookieParser());
// 设置静态文件目录
app.use(express.static(path.join(__dirname, 'public')));
// 路由匹配及路由组件
app.use('/', indexRouter);
app.use('/users', usersRouter);
// 暴露模块接口
module.exports = app;
./routers/index.js
router.get('/', function (req, res, next) {
// 被解析为加载index模板并赋值title为Express
res.render('index', { title: 'Express' });
});
./routers/users.js
router.get('/', function(req, res, next) {
// 页面显示 respond with a resource
res.send('respond with a resource');
});
该项目下文件皆为jade模板,如需深入了解可自行百度,在这里不多做阐述
app.js
中app.set(‘view engine’, ‘jade’);
改为 app.set(‘view engine’, ‘html’);
res.render(‘index’, { title: ‘Express’ });
改为res.sendfile(“./views/index.html”);
至此结束