对于express的设置,一直是拿来就用,只知其然,今天查了一下文档,记录详细过程如下。

1、实现基本常用功能需要的模块
path 用来处理路径字符串拼接,设置模板路径和静态资源路径时使用
cookie-parser 设置应用的请求对cookie的支持
body-parser 处理request请求内容,可以在req.body中访问,适用于POST请求时
ejs 静态资源模板引擎,解析html文件
express-session session设置
compression 使用gzip压缩请求头的体积,如果在服务器上,通过nginx反向代理设置了请求压缩,则也可以不使用该中间件

2. express保留的全局关键字变量,通过app.set/app.get使用
env
不是必须要设置,默认使用process.env.NODE_ENV,如果环境变量中NODE_ENV没有设置,则使用development

app.set可以设置任意的key-value关系,并通过app.get取出,但是部分保留关键字必须设置了才能让应用正常运行

views
如果使用单独的html文件,则必须设置,一个或一组目录,存储应用的页面模板(views),如果是多个目录,则在查找文件是会按照定义的顺序逐个查找

views engine
解析页面文件使用的引擎,例如上面的ejs.__express,定义了views则必须定义views engine

views cache
是否允许使用缓存的页面模板,NODE_ENV设置为production时,该变量默认值是true,其他情况的默认值是undefined

3. 静态资源文件路径设置 express.static
静态资源文件的路径设置和页面模板路径设置不同,两者也未必需要是同一个目录
静态资源路径设置的语法是:

app.use(express.static(path.join(__dirname, public_dir_name)));

4. 路由设置
简单的路由设置可以通过app.route(url, callback)的方式设置,如果需要集中设置多个路由,则可以使用express.Router创建路由中间件,
在此基础上实现路由集中处理:

var router = express.Router();
router.get("url1", callback1);
router.post("url2", callback2);
app.use(router); // 加载中间件

5. 应用启动
app.listen函数启动应用,需要指定使用的端口,hostname为可选

app.listen(port, callback);

6. 其他
关于session,在设置session时可以指定session的存储位置,除了是服务器内存,也可是数据库或其他类型存储
设置关键字:store

express的web server设置流程的更多相关文章

  1. laravel web server设置远程访问及原理

    laravel中可以用命令行php artisan serve 启动web server,并通过localhost:8000访问项目. 但是因为开发环境为虚拟机部署项目,然后通过端口访问,所以开启服务 ...

  2. express快速搭建web server

    安装express4.x npm install -g express npm install -g express-generator //express命令行工具在4.x分离出来了 express ...

  3. Unable to launch the IIS Express Web server

    尝试运行程序,出现此异常提示Unable to launch the IIS Express Web server. 解决问题,是把网址修改为另一个试试: 把http://localhost:1114 ...

  4. Azkaban2.5安装部署(系统时区设置 + 安装和配置mysql + Azkaban Web Server 安装 + Azkaban Executor Server安装 + Azkaban web server插件安装 + Azkaban Executor Server 插件安装)(博主推荐)(五)

    Azkaban是什么?(一) Azkaban的功能特点(二) Azkaban的架构(三) Hadoop工作流引擎之Azkaban与Oozie对比(四) 不多说,直接上干货! http://www.cn ...

  5. Unable to connect to web server 'IIS Express'(无法连接到Web服务器“IIS Express”)的解决方式-Jexus Manager

    在运行微软示例工程eShopOnWeb时候, 在经过一段时间再运行启动报Error "Unable to connect to web server 'IIS Express'"  ...

  6. Node.js 从零开发 web server博客项目[express重构博客项目]

    web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...

  7. CentOS 5.5 下安装Countly Web Server过程记录

    CentOS 5.5 下安装Countly Web Server过程记录 1. 系统更新与中文语言包安装 2. 基本环境配置: 2.1. NodeJS安装 依赖项安装 yum -y install g ...

  8. CSAPP Tiny web server源代码分析及搭建执行

    1. Web基础 webclient和server之间的交互使用的是一个基于文本的应用级协议HTTP(超文本传输协议). 一个webclient(即浏览器)打开一个到server的因特网连接,而且请求 ...

  9. 【实例图文详解】OAuth 2.0 for Web Server Applications

    原文链接:http://blog.csdn.net/hjun01/article/details/42032841        OAuth 2.0 for Web Server Applicatio ...

随机推荐

  1. VB ASP 使用 now() 时默认格式调整方法

    修改注册表 [HKEY_USERS\.DEFAULT\Control Panel\International] "sShortDate"="yyyy-M-d" ...

  2. 1星|《社群X平台》:没有实际工作经验的职业写手拼凑而成

    社群X平台 赋能企业指数级增长 网站上介绍作者有一些身份.书中没提作者的职位,只介绍是“码字为生”.书的封底有一些名人言论的引用,咋一看以为都是推荐本书,细看只有最后李善友在推荐本书,其他人的话都是跟 ...

  3. ZT 安卓手机的安全性 prepare for Q

    如何增强安卓手机的安全性?安卓的安全性太低了!!! 众所周知,安卓手机是非常容易破解的,刷过机的人都知道,不管你之前在手机怎么设置密码,只要进入recovery清空使用记录,手机就会恢复出厂设置,到时 ...

  4. [Codeforces 321D][2018HN省队集训D4T2] Ciel and Flipboard

    [Codeforces 321D][2018HN省队集训D4T2] Ciel and Flipboard 题意 给定一个 \(n\times n\) 的矩阵 \(A\), (\(n\) 为奇数) , ...

  5. 【原创】rabbitmq 学习

    rabbitmq 命令 1. 用户管理类命令: 该类别比较意图比较明显,详细查看官方文档.现做俩点说明: authenticate_user 此命令用于验证一个用户名和密码对不对,并没有什么用: se ...

  6. SOJ 4580 动态规划之01背包 (01背包)

    Description Sidney想去Gandtom家玩.但Sidney家和Gandtom家之间是高低不平.坑坑洼洼的土路.所以他需要用他的背包装几袋稀的泥,在路上铺平一些干的土,使路变成平整的泥土 ...

  7. iOS应用内抓包、NSURLProtocol 拦截 APP 内的网络请求

    前言 开发中遇到需要获取SDK中的数据,由于无法看到代码,所以只能通过监听所有的网络请求数据,截取相应的返回数据,可以通过NSURLProtocol实现,还可用于与H5的交互 一.NSURLProto ...

  8. 虚拟内存(VirtualAlloc),堆(HeapAlloc/malloc/new)和Memory Mapped File

    http://blog.csdn.net/zj510/article/details/39400087 内存管理有三种方式: 1. 虚拟内存,VirtualAlloc之类的函数 2. 堆,Heapxx ...

  9. CentOs7.2编译安装Nginx服务器

    1. 安装nginx依赖 首先安装nginx的依赖 yum install gcc gcc-c++ openssl openssl-devel cyrus-sasl-md5 2,创建nginx用户 如 ...

  10. 1208. [HNOI2004]宠物收养场【平衡树-splay】

    Description 最近,阿Q开了一间宠物收养所.收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物.每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特 ...