码迷,mamicode.com
首页 > 其他好文 > 详细

express简介

时间:2018-01-20 21:28:18      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:不能   处理   简介   简单   静态文件   .post   bsp   基本   实现   

 在之前的随笔中,我写过一个用原生node来搭建web静态服务的一个例子,那个例子中还是静态文件比较少,外链的资源也相对较少,我们采用的是用路由和mime类型来展示静态服务,代码写起来虽然没有难度,但是看起来显得比较繁琐,如果静态文件资源很多,那么这种方式肯定不是明智之举,而且路由会写很多,后期路由也不好管理和维护,所以有没有一个什么东西来帮我们来做这些事情列,答案肯定是有的。

 那就是express框架,我之前说过,express和node的关系就相当于jquery和原生js的关系,但是不能完全等同,因为express是对node更多做的是一种补充,而不是像jq那样,吧js中有的东西做了包装。node极简不可能像IIS那样,IIS中直接就可以提供静态服务,所以express中专门扩展了node的静态服务,使用express能够迅速在node上搭建静态服务。关于express的更多的东西,大家可以到官网去看。我这里就不赘述了。

   好,那么我们如何在自己的项目中用express框架列,首先用npm安装express(npm是一个node的包管理工具,强烈建议大家用下,你想找的东西,在npm中都有),之后再自己的项目启动文件(app.js)中引入express模块

   

var express = require(‘express‘);
var controller = require(‘./controllers/index.js‘);
var ejs = require(‘ejs‘);
var app = express();

//设置模板引擎
app.set(‘view engine‘,‘ejs‘);
//静态这连个文件夹
app.use(express.static(‘./public‘));
app.use(express.static(‘./upload‘));
//首页的请求,获取当前的所有相册
app.get(‘/getAllAlbum‘,controller.getAllAlbum);

//增加相册
app.get(‘/addAlbum‘,controller.addAlbum);
//获取对应相册下面的所有图片
app.get(‘/:albumName‘,controller.getphotos);
//上传相片到对应的相册
app.post(‘/upphoto‘,controller.up);

//设置在3000端口监听http请求和响应客户端
app.listen(3000);

  

  上面是基于express做的一个小案例(类似于QQ群里面的群相册,我之后的随笔中会写到)

     就通过上面的代码,一个node的基本服务就可以跑起来了,看上去是不是很简洁,而且我们看到实现静态服务就一行代码(app.use(express.static(‘./public‘));),这样就把当前目录下的public文件夹静态出去了,在浏览器上就可以访问public里面的文件了,是不是很简单,再看看我们之前用原生node写的时候,不知道要写多少代码,而且自己写的静态服务不能处理缓存问题,express中的静态服务对缓存处理的很好,所以我们基本不用花很多时间在静态服务上,而是更加关心路由和业务,而且通过express框架,我们可以将路由写的很漂亮,代码也变得易懂,而且更好维护。

 

  

express简介

标签:不能   处理   简介   简单   静态文件   .post   bsp   基本   实现   

原文地址:https://www.cnblogs.com/fandaxia/p/8321872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!