express快速入门
express介绍
express是基于Node.js平台,快速、开放、极简的 web 开发框架。
首先要个你们提供一些技术网站
安装express
新建一个文件夹
mkdir myapp
cd myapp
经过 npm init 命令为你的应用建立一个 package.json 文件
npm init
此命令将要求你输入几个参数,例如此应用的名称和版本。
entry point: (index.js)
输入 app.js 或者你所但愿的名称(建议用app.js),这是当前应用的入口文件。
安装Express并将其保存到依赖列表中
npm install express --save
安装成功
express打印Hello Wrold
效果以下

要想打印HelloWrold首先要引入这个模块,而后实力化,接着定义方法,最后须要启动任务
//引入模块
const express = require("express");
//实例化
var app = express();
//定义方法
app.get('/', function (req, res) {
res.send('Hello World!');
});
//启动app
var server = app.listen(3000,function(){
console.log("启动成功!访问http://localhost:3000");
})
express脚手架安装
效果图

按一个全局的express脚手架
npm install express-generator -g
在当前工做目录下建立一个命名为 myapp 的应用
express myapp
安装全部依赖包
cd myapp
npm install
启动这个应用
启动这个应用(MacOS 或 Linux 平台):
DEBUG=myapp npm start
Windows 平台使用以下命令:
set DEBUG=myapp & npm start
接下来讲一下这个应用的过程,仔细看图就能懂
效果图

他是在路由里面返回一个index文件,这个index文件是views里面的文件
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express1' });
});
下面是index.ejs文件,这个是views文件。我安装的时候定义了一下要用ejs的,默认是jade文件
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1><%= title %></h1>
<p>Welcome to <%= title %></p>
</body>
express路由
每个路由均可以有一个或者多个处理器函数,当匹配到路由时,这个/些函数将被执行。
路由的定义由以下结构组成:app.METHOD(PATH, HANDLER)。其中,app 是一个 express 实例;METHOD 是某个 HTTP 请求方式中的一个;PATH 是服务器端的路径;HANDLER 是当路由匹配到时须要执行的函数。
代码展现了几个路由实例
// 对网站首页的访问返回 "Hello World!" 字样
app.get('/', function (req, res) {
res.send('Hello World!');
});
// 网站首页接受 POST 请求
app.post('/', function (req, res) {
res.send('Got a POST request');
});
// /user 节点接受 PUT 请求
app.put('/user', function (req, res) {
res.send('Got a PUT request at /user');
});
// /user 节点接受 DELETE 请求
app.delete('/user', function (req, res) {
res.send('Got a DELETE request at /user');
});
我本身定义了一个新的路由(看懂图就会作了)
效果

定义一个order.js的路由文件
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('order', { msg: '订单首页' });
});
//导出
module.exports = router;
须要在app.js中加入路由调用
var order = require('./routes/order');
app.use('/order', order);
须要新建一个order.els视图页面
<!DOCTYPE html>
<html lang="en">
<head>
<link rel='stylesheet' href='/stylesheets/style.css' />
<title><%= msg %></title>
</head>
<body>
<h1><%= msg %></h1>
<p>这是我本身作的<%= msg %></p>
</body>
</html>
express静态文件设置
静态文件就是图片,css,js等等这些写死的文件
express中的静态文件是在public中,是在app.js中定义的
app.use(express.static(path.join(__dirname, 'public')));
中间件
什么是中间件
中间件(Middleware) 是一个函数,它能够访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,通常被命名为 next 的变量。
中间件的功能包括
执行任何代码。
修改请求和响应对象。
终结请求-响应循环。
调用堆栈中的下一个中间件。
Express 应用可以使用以下几种中间件
应用级中间件
路由级中间件
错误处理中间件
内置中间件
第三方中间件
说一下这几种中间件的用法
应用级中间件
应用级中间件绑定到 app 对象 使用 app.use() 和 app.METHOD()
var app = express();
// 没有挂载路径的中间件,应用的每一个请求都会执行该中间件
app.use(function (req, res, next) {
console.log('Time:', Date.now());
next();
});
路由中间件
路由级中间件和应用级中间件同样,只是它绑定的对象为 express.Router()路由上
var router = express.Router();
// 没有挂载路径的中间件,经过该路由的每一个请求都会执行该中间件
router.use(function (req, res, next) {
console.log('Time:', Date.now());
next();
});
切记使用中间件根据须要,是否写next();以下须要执行下面的代码就必须写,否者就挂起不执行下面代码,这个next()是起挂起做用的
不一一介绍,这两种是经常使用的,其余的能够去参考手册
express进程管理器
用进程管理之前的效果

用进程管理后的效果

为何须要用express进程管理器
由于每改一次代码都要重启服务,那么用进程管理器就不准,改完代码直接刷新浏览器看向就ok
我选用是一个叫PM2的进程管理器
安装
npm install pm2 -g
启动
pm2 start ./bin/www --watch
列出全部运行的进程
pm2 list
中止应用程式
pm2 stop 0
从新启动应用程式
pm2 restart 0
要查看有关应用的详细信息
pm2 show 0
要从pm2注册表中删除应用程序
pm2 delete 0
经常使用的也就是启动和删除应用程序
写到这里也要说再见了,一个简单express的应用就完成了,你学会了吗???
喜欢的点赞加收藏啊