app.route(‘/book’)
.get(function(req, res) {
res.send(‘Get a random book’);
})
.post(function(req, res) {
res.send(‘Add a book’);
})
.put(function(req, res) {
res.send(‘Update the book’);
});
express.Router
可使用 express.Router 类创建模块化、可挂载的路由句柄。Router 实例是一个完整的中间件和路由系统。这样我们就可以在一个文件中专门做路由处理,而在app.js中use这个中间件。
例如我们在一个routes.js文件中这样使用。
// routes.js文件
var express = require(‘express’);
var router = express.Router();
// 定义网站主页的路由
router.get(‘/’, function(req, res) {
res.send(‘home page’);
});
// 这里把中间件导出,供app.js使用
module.exports = router;
app.js中这样使用:
var router = require(‘./router’);
// 其他处理逻辑代码
…
…
…
// 最后use路由中间件
app.use(‘/’, router);
静态文件
使用静态文件服务
express的静态文件可以放在public文件夹中。通过Express内置的express.static可以方便地托管静态文件,例如图片、CSS、JavaScript 文件等。
app.use(express.static(‘public’));
然后就可以访问public中的静态资源了。
http://localhost:3000/images/avatar.jpg
多个静态资源文件夹
如果静态资源存放在多个目录下面,我们可以多次调用 express.static 中间件。例如:
app.use(express.static(‘public’));
app.use(express.static(‘assets’));
挂在虚拟目录下
app.use(‘/resourse’, express.static(‘public’));
那么访问的方式就是
http://localhost:3000/resourse/images/avatar.jpg
中间件
定义
什么叫中间件,引用官方的解释就是:
中间件(Middleware) 是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。Express 是一个自身功能极简,完全是由路由和中间件构成一个的 web 开发框架:从本质上来说,一个 Express 应用就是在调用各种中间件。
中间件可以做的事情
(1)执行任何代码。
(2)修改请求和响应对象。
(3)终结请求-响应循环。
(4)调用堆栈中的下一个中间件。
中间件分类
应用级中间件
应用级中间件绑定到app对象,使用 app.use() 和 app.METHOD()。其中METHOD 是需要处理的 HTTP 请求的方法,例如 GET, PUT, POST 等等,全部小写。
// 没有挂载路径的中间件,应用的每个请求都会执行该中间件
app.use(function (req, res, next) {
console.log(‘Time:’, Date.now());
next();
});
// 挂载至 /user/:id 的中间件,任何指向 /user/:id 的请求都会执行它
app.use(‘/user/:id’, function (req, res, next) {
console.log(‘Request Type:’, req.method);
next();
});
// app.get
// app.post
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
文末
从转行到现在,差不多两年的时间,虽不能和大佬相比,但也是学了很多东西。我个人在学习的过程中,习惯简单做做笔记,方便自己复习的时候能够快速理解,现在将自己的笔记分享出来,和大家共同学习。
个人将这段时间所学的知识,分为三个阶段:
第一阶段:HTML&CSS&JavaScript基础
第二阶段:移动端开发技术
第三阶段:前端常用框架
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
- 推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;
nimg.cn/img_convert/fc21db0a800494796dc6408ce1486031.png)
第三阶段:前端常用框架
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;
-
大厂的面试难在,针对一个基础知识点,比如JS的事件循环机制,不会上来就问概念,而是换个角度,从题目入手,看你是否真正掌握。所以对于概念的理解真的很重要。