express的web server设置流程

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

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

2. express保留的全局关键字变量,经过app.set/app.get使用
env
不是必需要设置,默认使用process.env.NODE_ENV,若是环境变量中NODE_ENV没有设置,则使用development数据库

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

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

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

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

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

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

 

4. 路由设置
简单的路由设置能够经过app.route(url, callback)的方式设置,若是须要集中设置多个路由,则能够使用express.Router建立路由中间件,
在此基础上实现路由集中处理:app

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

相关文章
相关标签/搜索