《Node与Express开发》学习笔记

Handlebars的三重大括号是为了关闭HTML转义。
要注意handlebars使用if和each导致的上下文问题。

视图:

  • 默认情况下,Express会在views子目录中寻找视图。

布局:

  • 布局是一种特殊的视图,它是一个用于模板的模板。
    默认情况下,Express会在views子目录中寻找视图。在views/layouts下查找布局。

局部文件

语法{{> partial_name}}可以在视图中包含一个局部文件express3-handlebars会在views/partials中寻找一个叫做partial_name.handle-bars的视图。

向服务器端发送客户端数据

  • 查询字符串 GET
  • 请求正文 POST
    浏览器一般会限制查询字符串的长度(对请求正文没有长度限制),所以一般使用POST进行表单提交。

处理表单的不同方式

  • AJAX
  • 浏览器提交,会重新加载页面

重新加载页面时,处理表单有两件事需要考虑:处理表单是哪个路径,以及向浏览器发出怎样的相应。

  • 使用method="POST",展现表单和处理表单会采用相同的路径。
  • 使用一个单独的路径来处理表单。

相应浏览器一般使用303重定向。无论之前是什么方法,都应该使用GET方法。

Cookie和会话

当服务器希望客户端保存一个cookie时,它会发送一个响应头Set-Cookie.
会话是更方便的状态维护方法。通常的做法是用一个包含唯一标识的cookie,然后服务器用这个标志获取相应的会话信息。
实现会话的方法:

  • 把所有东西都存在cookie中
  • 只在cookie中存一个标志,其他东西都存在服务器上。

中间件

从概念上讲,中间件是一种功能的封装方式,具体来说就是封装在程序中处理HTTP请求的功能。从实战上说,中间件是一个有三个参数的函数,一个请求对象,一个相应对象和一个next函数。
中间件是在管道中执行的。在Express程序中,通过调用app.use向管道中插入中间件。

你可能感兴趣的:(《Node与Express开发》学习笔记)