从零学习node.js之express入门(六)
一、介绍什么是express,为什么要使用express?根据官方网站的说法,express是一个基于 Node.js 平台的极简、灵活的web应用开发框架,它提供一系列强大的特性、丰富的API接口,对web应用的接口进行了二次的封装,提供了MVC模式,方便我们可以快速地创建各种web和移动应用。 Express 框架核心特性:
本文也只是简单的了解下express框架的内容,希望大家能比较快速的入门,更多详细的内容还是阅读官网并查看相关的API。 express的中文官方网站:【】 二、入门创建一个目录myapp,进入到myapp后,使用命令 app.get('/',function(req,res){
res.send('hello world'); }); app.listen(3000,function(){ 运行app.js文件: 在浏览器中访问http://127.0.0.1:3000/就能看到页面上输出的hello world。说明基本的express程序可以正常运行了。 2.1 APP引入express模块后,执行
当然,如果想要接收post过来的请求,可以使用
2.2 路由我们在之前讲解《》也说过一点路由的内容,不过那时候我们制定的路由规则非常简单,而且只是处理了3个左右的页面而已。而express则对路由功能进行丰富。
同时,我们也应该注意的是: /是表示根路径下,/user是表示user路径下,如果访问/user/login时,是直接访问/user/login路由的,前面的两个路由是不访问的。 // /user路径下的请求
app.get('/user',res){ console.log('user'); res.send('huser'); }); // /user/login下的请求 而且,path路径还可以通过字符串匹配和正则匹配的方式进行路由选择。 2.3 RES响应方法我们在刚上面的例子中,使用 比如我们要输出一段html字符串。 app.get('/',res,next){
res.send(html); }); 我们可以在浏览器上一个红色的hello world和一个文本输入框。但是若html的代码比较长,我们可以把这些代码都放到一个单独的html文件里,然后使用 在根目录下创建一个index.html文件,把完整的html代码放进去,然后: 这样就能在浏览器中看到一个完整的页面了。 此外,res中还提供了一些别的方法供我们使用:
三、中间件上面我们执行 这里 // /topic 下的请求都会响应,包括 /topic/1.html,/topic/c/1.html等
app.use('/topic',next){ console.log('topic m url: '+req.url); next(); }) // 处理/根目录下的请求 // 处理 /topic/1.html 这种类型的请求 我们在浏览器中输入一些不同的url看看:
同时, 在上面代码的基础上,我们编写多个中间件。 // 每个中间件作为一个参数
app.get('/topic/:id.html',next){ // res.send('topic'); console.log('topic get 1'); next(); },next){ console.log('topic get 2'); next(); },next){ console.log('topic get 3'); res.send('topic'); }); 当我们访问127.0.0.1/topic/1.html时,在控制台则会输出: topic get 1
topic get 2 topic get 3 说明中间件是依次向下执行的。我们可以在每个中间件都做不同的处理,不过要记得使用 总结这里我们也是简要的了解了下express框架,更多的内容还是需要查看官网网站。之后我们将使用express构建一个简单的论坛系统。感兴趣的朋友们请继续关注编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |