Node.js

Stella981 等级 124 0 0
标签: javascriptkoa

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

收藏
评论区

相关推荐

JavaScript基础加ES6语法
JavaScript 一、什么是JavaScript 当下最流行的脚本语言,在世界上的所有浏览器中都有js的身影,是一门脚本语言,可以用于我们与web站点和web应用程序的交互,还可以用于后台服务器的编写,例如node.js 二、语法特点 基于对象和事件驱动的松散型,解释型语言 单线程异步 三、JavaScript作用 页面的交
Node.js 如何处理 ES6 模块
Node.js 如何处理 ES6 模块作者: 日期: 学习 JavaScript 语言,你会发现它有两种格式的模块。一种是 ES6 模块,简称 ESM;另一种是 Node.js 专用的 CommonJS 模块,简称 CJS。这两种模块不兼容。很多人使用 Node.js,只会用require()加载模块,遇到 ES6
JavaScript 和 Node.js 中事件循环
1.JavaScript中事件循环可以参考《JavaScript忍者秘籍第二版》第十三章,讲解的很好。JavaScript中事件循环,主要就在理解宏任务和微任务这两种异步任务。宏任务(macrotask): setTimeOut 、 setInterval 、 setImmediate 、 I/O 、 各种callback、 UI渲染 、messageCh
Nodejs实现图片的上传、压缩预览、定时删除
前言 我们程序员日常都会用到图片压缩,面对这么常用的功能,肯定要尝试实现一番。 第一步,node基本配置这里我们用到的是koa框架,它可是继express框架之后又一个更富有表现力、更健壮的web框架。 1、引入基本配置 const Koa require('koa');// koa框架const Router require('koaroute
2017 Node.js 开发框架比较
希望这篇文章为大家对 Node.js 后端框架选型带来一些帮助。 JavaScript 这门语言的设计虽然被很多人诟病,但是因为其占据了浏览器而且容易上手所以广泛流行。后来随着 Node.js 的出现,npm 包管理带来的强大生态更是如虎添翼(截止到 2017 年 3 月 npm 共有 43 万个包)。但是这也造成了 JS 社区变态的快速迭代,大家都直呼赶
Koa2实战练手(一)
[Koa](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Flink.jianshu.com%3Ft%3Dhttp%3A%2F%2Fkoajs.com%2F) 是下一代的 Node.js 的 Web 框架。由 [Express](https://www.oschina.net/action/
MEAN架构实战:基于MongoDB、Express、Angular、Node.js构建企业级应用
曾几何时,业界流行使用LAMP架构(Linux、Apache、MySQL和PHP)来快速开发中小网站。LAMP是开放源代码的,而且使用简单、价格廉价,因此LAMP这个组合成为了当时开发中小网站的首选,号称“平民英雄”。而今,随着Node.js的流行,这使得JavaScript终于能够在服务器端拥有了一席之地。JavaScript成为了从前端到后端再到数据库层
Node.JS是什么?
百度上是这么说的:Node.js是一个可以快速构建网络服务及应用的平台。该平台的构建是基于Chrome‘s JavaScript runtime,也就是说,实际上它是对Goole V8引擎进行了封装。 **Node.js的优点** nodejs作为一个新兴的后台语言,有很多吸引人的地方: RESTful API 单线程 Node.js可以在不新增
Node.js
1.Node来历 --------     2009年,正是推出基于Javascript语言和V8引擎的开源Web服务项目,命名为Node.js,Node.js是第一次把Javascript带到后端开发。全很很多开发人员都熟悉Javascript,所以Node.js一下子就火了。     Javascript语言本身是完善的函数式语言,在前端开发时,开发
Node.js 安装与开发
**Node.js 简介** Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。 V8引擎执行Javascript的速度非常快,性能非常好。 Node.j
Node.js 简单学习
明白 JavaScript 语言,你就会用 Node.js 了。最常见的运行 JavaScript 语言的地方就是用户的浏览器,几乎所有的浏览器上都有个 JavaScript 引擎,这个引擎负责运行在页面中嵌入的 JavaScript 代码。代码是在用户的浏览器上运行的,用户那头叫前端(Frontend),服务器这头叫后端(Backend)。Node.js
Node.js简介及如何学习Node.js
本文介绍Node.js的诞生史以及如何学习Node.js。 Node.js简史 --------- 从Node.js的命名上可以看到,Node.js的官方开发语言是JavaScript。之所以选择使用JavaScript,显然与JavaScript的开发人员多有关。总所周知,JavaScript是伴随着互联网的发展而火爆起来的,JavaScript也是前
NodeJs在windows上安装配置测试
Node.js简介 简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。 安装环境 本机系统:Windo
NodeJs框架对比:Express、Koa、Hapi
--- https://www.airpair.com/node.js/posts/nodejs-framework-comparison-express-koa-hapi 1 Introduction -------------- Express.js is the most popular Node.js web applicati
Notadd —— 基于 nest.js 的微服务开发框架
前言 -- 随着 node.js 社区的不断发展,虽然有 express 、koa 、egg .... 这样的框架,或者更应该称之为工具包,无一解决 js 作为一个后端语言的问题 —— 架构。 Nest.js 的出现解决了这些问题,它使用了 Typescript ,较为完整的 AOP 思想,同时在 IO 密集型应用上有着不俗的表现,是真正意义上的后端框架