NodeJS

NodeJS

Why

大前端基石

跨平台

无处不在的NPM/Yarn

异步流程控制

Koa 2.x

前后端分离

NodeJS

框架

Express/KOA

ThinkJs

构建/测试

Fis/Yo/Mocha

COMMON

调试/日志

VSCode/WebStorm

代码植入/Log Level

NodeJS

框架

KOA2.0

坑多

构建/测试

Yo/Ava

Future

调试/日志

VSCode/WebStorm

代码植入/APM

Redis

MongoDB

NodeJS

开发

NodeJS

How

Router

Controller

Controller

DAO

DAO

DAO

......

Async

Promisefy

NodeJS

回形针模型📎

var koa = require('koa');
var app = koa();

app.use(function* responseTime(next){
    var start = new Date;
    yield next;
    var s = new Data - start;
    this.set('X-Response-Time', ms + 'ms');
});

app.use(function* logger(next){
    var start = new Date;
    yield next;
    var used = new Data - start;
    console.log(%s %s %s %sms ,
        this.method,
        this.originalUrl,
        this.status, used);
});

app.use(function* contentLength(next){
    yield next;
    if(!this.body) return;
    this.set('Content-Length', this.body.length);
});

app.use(function* body(next){
    yield next;
    if(this.path != '/') return;
    this.body = 'Hello World';
});

app.listen(8888);

NodeJS

回调模型

NodeJS

测试集成

NodeJS

CI/CD

持续集成 和 持续发布

测试框架,集成系统

NodeJS

调试

线下调试

WebStorm、VsCode

线上调试

日志分级,探针植入,APM

Made with Slides.com