2.express的目录介绍
在express官方所给的脚手架中,有两个文件夹有views,里面存放的文件是以.jade结尾,在这里主要存储的是视图层
部分的代码逻辑 ,还有pubic 在这里存放的文件主要是js Image 样式表等静态的文件 。express被使用之初的目的就是
用于开发前后端,但是随着前后台分离的思想的产生,在这里我们不需要管这个两个文件夹,只需要将其他处理server
端的文件夹中的内容做好即可。
bin目录,在这个目录下,还有一个www的文件,该文件是一个入口文件,其涉及到端口号,错误监听等信息
的检测
routes目录用于处理路由
app.js各种逻辑的实现部分
以下部分包括app.js中所涉及到的中间件的含义
-
http-errors 用于对错误做出处理,更好的增加用户的体验
-
express 在本节所说的一个工具
-
path node 中自己定义的一个用户获取路径的库
-
cookie-parser 对cookie做出路由的处理
-
morgan 记录日所用的一个中间件
-
indexRouter usersRouter 对于路由的处理
7.所对应的app.use(express.json()) app.use(express.urlencoded({ extended: false }));对于数据的处理
前者用于将数据的形式转化为json 后者则是对于其他形式的数据做出一个处理
8.app.use(cookieParser()) 对于路由去做出一个处理
- app.use(‘/’, indexRouter); app.use(‘/users’, usersRouter); 两者都是对于路由的处理,不同之处在于其
处理的路由不同,两者所表示的都是父级路由,在与之对应的路由文件夹中所对应的则是其子级路由所对应的位置
在这个框架中其处理路由的方式是首先确定路由的传入方式,然后再是对于路径的处理,最后则返回一个函数,
用来处理此路由所返回的结果
下面就举例说一个实际的例子来简单说明express的应用首先看代码:
const express = require(‘express’);
//本次http请求实例
const app = express();
app.use((req ,res ,next ) => {
console.log(‘请求开始。。。。。’, req.method , req.url );
next();
})
app.use((req ,res , next) => {
//假设在处理cookie
req.cookie = {
uerId : ‘5465sh’
}
next();
})
app.use((req ,res ,next) => {
//假设处理 post data
//异步处理
setTimeout(() => {
req.body = {
a: 12346,
b: “dhsh”
}
next();
})
})
app.use(‘/api’,(req ,res ,next) => {
console.log(‘处理 api 路由。。。。’);
next();
})
app.get(‘/api’,(req ,res ,next) => {
console.log(‘处理 get api 路由…’);
next();
})
app.post(‘/api’,(req ,res ,next) => {
console.log(‘处理 post api 路由…’);
next();
})
//模拟登录验证:
const loginCheck = (req ,res ,next) => {
setTimeout(() => {
console.log(‘模拟登录验证失败’);
res.json({
总结一下
面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。
还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。
万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。
为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。
前端面试题汇总