1.基本语法,
首先是引入express模块框架,其次是,使用express定义的方法去创建WEB服务器对象
然后,就是写路由响应不同的请求,最后,就是写一个监听端口,方便使用什么端口去访问服务器端的内容(这一句,名义上是监听端口,但其实是以这一句代码去设置那一个端口负责这个端口在那一个端口放行,最好的是写一句内容监听服务器是否启动。
在设置路由响应那里,post请求拦截只响应post,get请求默认拦截只响应get。
浏览器,在地址栏输入URL访问的时候,默认的就是使用GET请求访问,除非制定请求访问方式。
代码格式
app.use('请求路径','请求执行函数') app.use('/',(req,res,next)=>{ next(); });
app.get('/post',(req,res,next)=>{ req.name='张三', next(); //next()意思进行向下一个中间件传输下去执行 }); app.get('/post',(req,res,next)=>{ res.send(req.name), next(); });
app.use()特点总结
第一:可以省略请求路径
app.use()定义的中间件,即可以处理GET请求,也可以请求POST请求,在多个app.use()设置相同的请求路径的情况下,服务器都会接收请求,并处理。
app.use((req,res,next)=>{ req.name='王二狗'; next(); }); app.use((req,res)=>{ res.send(req.name); });
第二:接收函数调用
// app.use()接收函数调用 app.use(fu()); function fu (obj){ return function(req,res,next){ req.name="王二", res.send(req.name), next(); }; };
如何利用中间件处理静态资源
在引入express模板的前提下,直接这样写,调用express内默认的中间件方法去放行静态资源访问的权限。
// 利用express模板的内置中间件处理静态资源访问的事情 app.use(express.static('public'));
并不是想访问什么服务都能服务,这个看你使用模板内部的具体规定。要怎么放行相应的权限。,其实express就像一个linux操作系统一样,设置了什么能访问,什么不能访问。
其实,我基于express写的代码,就是写一下项目文件,将其放在一个具体的端口,然后通过http://localhost:端口去访问项目文件,
至于为什么不放行其他的代码文件,其他的文件放行没有什么意义,前端,毕竟是展现给用户看的。
模块化路由
项目大了,为了方便管理,创建的模块化路由
第一,首先导入相关的依赖,Router
第二,然后建立相关的路由文件,Router
第三,具体在路由文件里面引入相关的依赖,
第四,然后在创建相关的一级路由和二级路由
// 注,这里的route组件就是代表了一个通用的名字可以使用如home等有语义化的语句代替 const express=require('express'); const route=express.Router(); const app=express(); // 注册一级路由,注册模块化路由 app.use('/route',route); // 初始化二级路由 route.get('/index',(req,res)=>{ res.send('欢迎来到首页'); }); app.listen(3000); console.log('the server begin');
就现在的理解而言,一级路由只是为了更加好的项目化,工程化代码的一个形式。