对于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. zabbix日常监控项java(四)

    yum install net-tools netstat命令 yum -y install bash-completion 命令自动补全包 https://github.com/qiueer/zab ...

  2. September 24th 2017 Week 39th Sunday

    To live is the rarest thing in the world. Most people exist. That is all. 生活是世间最罕见的事情:生存,却是世间最常见的事情: ...

  3. fun() 的 拆分和 for 遍历 的结合---------> 函数容器

    fun() 的 拆分和 for 遍历 的结合--------->  函数容器

  4. JNLP应用程序无法打开的解决办法

    JNLP应用程序无法打开: 1.控制面板-Java-Java 选项卡-查看.用户选项卡勾选对应版本JDK(没有就添加,路径填类似:D:\Program Files\Java\jre6\bin\java ...

  5. 浅析Java CompletionService

    JDK的CompletionService提供了一种将生产新的异步任务与使用已完毕任务的结果分离开来的服务.生产者 submit 运行的任务.使用者 take 已完毕的任务,并依照完毕这些任务的顺序处 ...

  6. jenkins webhook 配置

    1. 安装插件 系统管理"->"插件管理"->"可选插件",选择Gitlab Hook Plugin GitLab Plugin,Gitl ...

  7. 使用 git push 出现error setting certificate verify locations问题记录

    昨天重新装了个系统,使用时出现了error setting certificate verify locations. 出现错误仔细看错误提示,这可是解决问题的关键信息. 将错误的信息复制到搜索引擎中 ...

  8. 【转】对H264进行RTP封包原理

    1. 引言     H.264/AVC 是ITU-T 视频编码专家组(VCEG)和ISO/IEC 动态图像专家组(MPEG )联合组成的联合视频组(JVT)共同努力制订的新一代视频编码标准,它最大的优 ...

  9. Jmeter之八大可执行元件及执行顺序

    初步接触Jmeter,对比LoadRunner进行熟悉,╮(╯▽╰)╭.毕竟我对LoadRunner还是比Jmeter熟悉. 1.配置元件 用来提供对静态数据配置的支持.例CSV Data Set c ...

  10. java学习笔记-JavaWeb篇一

    JavaWEB篇一 1 Tomcat的安装和配置 2 JavaWeb开发的目录结构 3 使用Eclipse开发JavaWeb项目 4 第一个Servlet程序 5 Servlet 的配置及生命周期方法 ...