Node.js

1.Node来历

    2009年,正是推出基于Javascript语言和V8引擎的开源Web服务项目,命名为Node.js,Node.js是第一次把Javascript带到后端开发。全很很多开发人员都熟悉Javascript,所以Node.js一下子就火了。

    Javascript语言本身是完善的函数式语言,在前端开发时,开发人员往往写的比较随意,让人感觉javascript就是个”玩具语言”。但Node环境下,通过模块化Javascript代码,加上函数式编程,并且无需考虑浏览器兼容问题,直接使用最新的ES6标准,可以完全满足工程上的需求。

2.Web开发常用框架

a.http框架

     1).Express:是第一代最流行的Web框架,它对node.js的http进行封装,用起来如下:

复制代码
var express = require('express');
var app = express();

app.get('/', function (req, res) {
    res.send('Hello World!');
});

app.listen(3000, function () {
    console.log('Example app listening on port 3000!');
});
复制代码

    它基于ES5的语法,要异步实现代码,只有一个方法:回调。如果异步嵌套层次过多,代码写起来就非常的难看。

    2).koa 1.0: 随着新版Node.js支持ES6,Express团队又基于ES6的generator重新编写了下一代Web框架koa。和express比较, 使用generator代码看起来像同步:

复制代码
var koa = require('koa');
var app = koa();

app.use('/test', function *() {
    yield doReadFile1();
    var data = yield doReadFile2();
    this.body = data;
});

app.listen(3000);
复制代码

   为了计划异步操作,ES7引入了关键字async和await,可以轻松的把一个function变为异步模式:

async function () {
    var data = await fs.read('/file1');
}

    3).koa 2.0: koa团队非常超前的基于ES7开发了koa2,完全使用Promise并配合aysnc实现异步。

app.use(async (ctx, next) => {
    await next();
    var data = await doReadFile();
    ctx.response.type = 'text/plain';
    ctx.response.body = data;
});

 

 

 

 

 

参考文献:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434501579966ab03decb0dd246e1a6799dd653a15e1b000

posted @   heavi  阅读(507)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示
顶部
菜单
评论
推荐
底部