express简介

Posted fandaxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了express简介相关的知识,希望对你有一定的参考价值。

 在之前的随笔中,我写过一个用原生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简介的主要内容,如果未能解决你的问题,请参考以下文章

connect & express简介

html 有关如何在任何页面上插入Nuvo Express按钮的小片段。此按钮居中对齐,并在新窗口中打开目标URL。

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

express简介

SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段