博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分分钟学会express
阅读量:7222 次
发布时间:2019-06-29

本文共 3370 字,大约阅读时间需要 11 分钟。

express快速入门

express介绍

express是基于Node.js平台,快速、开放、极简的 web 开发框架。
首先要个大家提供一些技术网站

安装express

新建一个文件夹
mkdir myappcd 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!');});//启动appvar server = app.listen(3000,function(){    console.log("启动成功!访问http://localhost:3000");})

express脚手架安装

效果图

图片描述

按一个全局的express脚手架
npm install express-generator -g
在当前工作目录下创建一个命名为 myapp 的应用
express myapp
安装所有依赖包
cd myappnpm install
启动这个应用
启动这个应用(MacOS 或 Linux 平台):DEBUG=myapp npm startWindows 平台使用如下命令:set DEBUG=myapp & npm start
在浏览器中打开 :3000/ 网址就可以看到这个应用了
接下来说一下这个应用的过程,仔细看图就能懂

效果图

图片描述

他是在路由里面返回一个index文件,这个index文件是views里面的文件
router.get('/', function(req, res, next) {  res.render('index', { title: 'Express1' });});
下面是index.ejs文件,这个是views文件。我安装的时候定义了一下要用ejs的,默认是jade文件
    <%= title %>    

<%= title %>

Welcome to <%= title %>

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视图页面
    
<%= msg %>

<%= msg %>

这是我自己做的<%= msg %>

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的应用就完成了,你学会了吗???

喜欢的点赞加收藏啊

转载地址:http://bvhym.baihongyu.com/

你可能感兴趣的文章
多文件上传,并生成缩略图
查看>>
sprintf函数分析
查看>>
redis源码分析-1 字符串处理
查看>>
return 、continue和break的区别
查看>>
RabbitMQ中的基本概念
查看>>
解决nginx下载大文件出现文件损坏,文件大小不一致
查看>>
fineui 时间控件 与格式化时间字符串方式 DateTime.ParseExact
查看>>
idea debug 接收命令行运行的项目
查看>>
Oracle Java Archive
查看>>
按需加载js文件功能实现
查看>>
apache shiro与spring整合、动态filterChainDefinitions、以及认证、授权
查看>>
TCP古董TIME_WAIT:为什么被动关闭的一方不需要TIME_WAIT傻等呢,似乎人人都了然了...
查看>>
javascript 获取和设置CSS的当前属性
查看>>
iOS 沙盒 NSCoding 归档 数据存储
查看>>
多重赋值
查看>>
运行topology出现错误
查看>>
错误状态的实例恢复方法
查看>>
seci-log 1.10 发布 增加了全文搜索密码加密等多个功能点
查看>>
SpringMVC 项目的实现步骤
查看>>
ios游戏开发 Sprite Kit教程:初学者 1
查看>>