• express的web server设置流程


    对于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

  • 相关阅读:
    linux下挂载(mount)光盘镜像文件、移动硬盘
    Windows 7与虚拟机VMware下运行的UBUNTU10.10共享文件夹
    Install Language support in CentOS 5 or Red Hat Enterprise Linux CentOS add Chinese Support
    卫星定位授时系统的时间表示主要有以下几种方法:
    How to mount ntfs external USB drive to CentOS 5,CentOS挂载移动硬盘
    解决Audacious 乱码问题
    2011030914来去匆匆的武子
    VLA的AIPS简单绘图
    解决ubuntu没有声音的方法
    儒略日的计算
  • 原文地址:https://www.cnblogs.com/harelion/p/7784133.html
Copyright © 2020-2023  润新知