node.js

REPL

.exit Ctrl+D

console

log(), clear(),

异步--回调和事件监听

Node HTTP服务器实例是一个事件发射器 EventEmitter

工作机制: 1. 如何用回调处理一次性事件 2. 如何用事件监听器响应重复性事件.

npm

npm install --save

npm install -g 全局安装

package.json:项目的清单,

express framework:

核心要素: routes, view, 数据模型.

例子: 表单的数据模型以及显示页面/利用路由来提交数据及存储数据库.

routes:

应用程序如何响应客户请求的URI.

req的要素: path(可以使用正则表达式),参数,method决定处理的endpoint.

handler: 函数,函数的数组,或者两者的组合.

app.METHOD(path, callback)

app.route(path), 返回一个route实例,可以做链式调用:

express.Route 类:使用这个类创建模块化可挂载的route(主要是这种用法.)

middleware:

一系列命名的req-res-next处理流程: 使用next(‘route’)可以bypass剩下的route回调。

middleware类型: application middleware, router-level middleware, error-handling, builtin, 3rd-party.

先加载的先执行.

since express5: middleware functions that return a Promise will call next(value) when they reject or throw an error. next will be called with either the rejected value or the thrown Error.

next(): next()不是express API或者, 除了next(“route”)或者next(“router”), express会认为当前的req错误而进入最后的错误处理.

application-middleware: 使用app.use或者app.method 来绑定middleware 与express实例. 如果需要跳过这个路由stack中的其余部分到达下一个路由,使用next('route') to pass control to the next route.

router-level-middleware: 工作方式与application相同,除了绑定在express.Router()实例上。最后必须用app.use()来挂载到app上.

error-handle middleware: 必须是四个参数带error才能被系统识别为error handle.

buildin middleware: express在4.x之后脱离了connect框架. 只有:express.staic, express.json, express.urlencoded3个内建midlleware.

template engine:

模版文件+实际变量:生成html.

设置模版文件位置,设置引擎。

两种渲染方法: app.render, res.render: res.render在内部使用app.render, 然而app.render无法将渲染后的view送给client.

database:

消息模型

Redis

brew search redis

brew install redis

brew services start redis / brew services stop redis / brew services restart redis /

redis-cli, ping, exit

Subscribe to sanmazi
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.