| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> Node.js中的express项目生成器 -> 正文阅读 |
|
[JavaScript知识库]Node.js中的express项目生成器 |
1.express简介express项目生成器,是一个nodejs程序,可以快速搭建一个express项目。 安装指令是 npm install express-generator -g??全局安装, 使用命令:express [项目名] ?-v 项目根目录下有4个自带的文件夹 bin:存放项目源代码的文件夹。? public:项目静态文件夹。 routers:存放路由的文件夹。?? views:存放模板的文件夹。 注意:创建的项目中没有node_modules文件夹,但是在package.json中写好了依赖项,所以创建完项目之后需要先npm install 安装依赖项。 运行项目的命令是 npm start 1. 执行node ./bin/www这个文件,这个文件创建/启动服务器,除此之外又记录了服务器运行日志,以及服务器在运行过程监听错误,监听其他信息等。 但注意在创建服务器时,使用了app.js入口文件。 2. app.js做了什么工作? app.js引入各种模块包,其中最重要是express框架,使用框架包创建应用程序实例,在应用程序运行过程中,需要其他模块包配合它。比如:http-error记录请求过程中的错误信息。再比如morgan记录请求日志, 再比如cookie-parser记录cookie解析。还是express.json(),express.urlencoded()。相对比较重要的路由中间件(必须掌握如何定义路由)。 2.app.js介绍
3.关于路由和中间件路由:URL到函数的映射。Route是一条路由:就是把路径与函数进行一一对应,通过路径信息调用特定的函数,Routers则负责管理route与函数之间的映射关系。路由分为静态路由和动态路由,静态内容的路由都是固定的。动态的内容则不是,我们可以通过传递参数而获取某个用户的信息,而不是单独设置一条静态路由。 通过express创建一个路由
通配符: :id相当于任何的参数,但是不能为空
中间件:所谓中间件其实也是一个路由,是一个可以处理所有http请求的路由. 1.路由处理器第一个参数必须是路径,如果要让一个路由匹配所有的路径,可以用 /* . 中间件也可以用路径作为第一个参数,而它是可选的,如果忽略了这个参数,它就会匹配所有的路径。 2.路由处理器和中间件参数都有回调,回调有2个参数时,是(req,res);回调有3个参数时,是(req,res,next);有4个参数时,是(err,req,res,next); 3.next。如果在中间件回调中调用了next(); 程序就会继续匹配下一个合适的路由处理器,如果你没有在中间件调用next()的话,中间件在处理完之后就会被终止,不会继续匹配相应的路由处理器,这时应该要发送响应到客户端,否则客户端会被挂起最终超时。 4.如果在中间件回调中调用了next();就不宜发送响应到客户端了,因为你发送了响应,之后的中间件或者路由器还会继续匹配执行,但是它们发送的任何响应都会被忽略。 中间件:在请求和响应之间封装一层处理请求的模块,本质是一个函数,可以对请求进行处理和加工,然后交给具体的接口,如果找不到对应的接口,就会报错.一般会在中间添加next函数,保证中间件不会拦截掉请求. |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 3:52:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |