express框架入门

2019-05-23  本文已影响0人  00_7b95

express框架入门

什么是express

Express 框架核心特性:

简单点说express就是一个封装了很多功能的包,而你只需要用简单的express的专属的一些代码便可解决本来正常较为复杂的代码,方便你使用

使用express
var express=require("express");
      var app=express();
框架中目录结构
一、app.js作用

通过require()加装了express、path等模块,以及routes文件夹下的index.js和users.js路由文件。

1生成一个express实例app。
var app = express();

2设置 views 文件夹为存放视图文件的目录, 即存放模板文件的地方,__dirname 为全局变量,存储当前正在执行的脚本所在的目录。
app.set('views', path.join(__dirname, 'views'));

3设置视图模板引擎为 ejs。
app.set('view engine', 'ejs');

4加装解析json的中间件
app.use(bodyParser.json());

5 加装日志中间件
app.use(logger('dev'));

6 加载解析urlencoded请求体的中间件。
app.use(bodyParser.urlencoded({ extended: false }));

7加载解析cookie的中间件。
app.use(cookieParser());

8 设置public文件夹为存放静态文件的目录。
app.use(express.static(path.join(__dirname, 'public')));

9 路由控制器。
app.use('/', routes);
app.use('/users', users);

10 捕获404错误,并转发到错误处理器。
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});

11 开发环境下的错误处理器,将错误信息渲染error模版并显示到浏览器中。
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}

12 生产环境下的错误处理器,不会将错误信息泄露给用户。
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
13 导出app实例供其他模块调用。

module.exports = app;

二、 bin/www 文件:​

(1)#!/usr/bin/env node:表明是 node 可执行文件。
(2)var debug = require(‘debug’)(‘blog’):引入debug模块,打印调试日志。
(3)var app = require(‘../app’):引入我们上面导出的app实例。
(4)app.set(‘port’, process.env.PORT || 3000):设置端口号。
(5)​

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);

启动工程并监听3000端口,成功后打印 Express server listening on port 3000。

三、 routes/index.js 文件:

生成一个路由实例用来捕获访问主页的GET请求,导出这个路由并在app.js中通过app.use(‘/’, routes); 加载。这样,当访问主页时,就会调用res.render(‘index’, { title: ‘Express’ });渲染views/index.ejs模版并显示到浏览器中。

四、 views/index.ejs 文件:

在渲染模板时我们传入了一个变量 title 值为 express 字符串,模板引擎会将所有 <%= title %> 替换为 express ,然后将渲染后生成的html显示到浏览器中,如上图所示。

基本框架的作用就是这些,到具体的功能实现的代码再自己仔细去查询。
express还有许多中间件的使用例如body-parser,cookie等这些需要用的时候,再仔细去学习查询

上一篇下一篇

猜你喜欢

热点阅读