- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
Koa 和 Express 4.0 都是相当新的版本,据我所知,Koa 是由 Express 团队制作的。
据我了解,Koa 需要 node 的特性,这些特性只在 node 的 0.11(不稳定分支)中可用,并且还使用了生成器。 Express 4.0 似乎只是 Express 框架的下一个版本。
有什么我完全遗漏的区别吗? Koa 和 Express 是否有可能(根据 Express 团队公开声明的内容)在未来某个时候合并?
谢谢!
最佳答案
在发布开放式问题之前,搜索引擎应该是您的首选。
Koa vs Express
Philosophically, Koa aims to "fix and replace node", whereas Express "augments node". Koa uses co to rid apps of callbackhell and simplify error handling. It exposes its own
this.request
andthis.response
objects instead of node'sreq
andres
objects.Express, on the other hand, augments node's
req
andres
objects withadditional properties and methods and includes many other "framework"features, such as routing and templating, which Koa does not.Thus, Koa can be viewed as an abstraction of node.js's http modules,where as Express is an application framework for node.js.
...
Does Koa replace Express?
It's more like Connect, but a lot of the Express goodies were moved tothe middleware level in Koa to help form a stronger foundation. Thismakes middleware more enjoyable and less error-prone to write, for theentire stack, not just the end application code.
Typically many middleware would re-implement similar features, or evenworse incorrectly implement them, when features like signed cookiesecrets among others are typically application-specific, notmiddleware specific.
...
Why isn't Koa just Express 4.0?
Koa is a pretty large departure from what people know about Express,the design is fundamentally much different, so the migration fromExpress 3.0 to this Express 4.0 would effectively mean rewriting theentire application, so we thought it would be more appropriate tocreate a new library.
关于node.js - Koa 和 Express 4.0 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23140968/
我正在使用 koa.js 开发节点服务器 我已经为 body 解析器寻找了一些库。 并且有好几种koa body parser。 但我不知道它们有什么区别,包括 koa-body和 koa-bodyp
我正在尝试使用 Koa.js,并检查了以下用于路由请求的模块:1.koa路线2. koa 挂载 当我在谷歌中查看他们的 github 页面/教程时,这些示例看起来几乎相似,只有细微差别。 对于 koa
假设我想在不使用扩展程序的情况下将一个简单的变量发布到 Koa 应用程序,我该怎么做? 最佳答案 您必须使用官方 koa-bodyparser 模块。 然后所有 POST参数将在 this.reque
抱歉,我不太明白 key 在 koa 中是如何工作的。在 koa 中,有keys字段上 app将像这样使用的对象: const app = new Koa(); app.keys = ['some s
我们为什么要做这个 router.get('/data', async (ctx, next) => { ctx.body = dummyjson.parse(data); await nex
这就是我的想法,伪代码。 const myRedirect = (routePath) => { newUrl = routePath; if (matches condition)
应用程序.js var bodyParser = require('koa-bodyparser'); app.use(bodyParser()); app.use(route.get('/objec
如何使用 koa-router 进行嵌套路由重定向? app.js: var router = require('koa-router')(); var route1 = require('./rou
我尝试使用该模块为 Koa 服务器建立 HTTPS 连接 https://www.npmjs.com/package/koa-sslify但我收到错误“AssertionError:app.use()
我有一个非常简单的服务器可以使用: import * as http from 'http'; import * as Koa from "koa"; import { Request, Respon
从用户代理进行 ajax POST $.ajax({ type: 'POST', url: 'https://mysub.domain.dev/myro
我试图从我们的 React 客户端上传一个大约 1.5 mb 的 JSON 对象到我们的 Koa.js node.js 服务器。 我将 Koa.js 与 koaBody(koa-body 4.1.1)
我正在潜入Koa2并看到koa-compose。我得到了我给它的中间件,并且它返回了一个,但是为什么呢?将多个中间件包装为一个而不是单独添加它们有什么好处? app.use(compose(m1, m
我正在尝试 Koa.js,并且正在寻找一种关于生成器返回错误处理的最佳实践(如果有的话)。采取以下措施: var sql = require('./lib/sql'); app.use(functio
通常,登录用户会获得内容类型的所有条目。 我创建了一个“代码段”内容类型(_id,name,content,users>snippets)>表示“具有并属于许多”关系。 我创建了一些测试用户并提出了一
在我的app.js中,我有以下内容... app.use(async (ctx, next) => { try { await next() } catch (err) { c
我在导出路线时遇到了一个奇怪的问题。由于某种原因,这段代码对我有用: app.js import Koa from 'koa' import routes from './routes/index'
我想将一些环境变量从 Koa 服务器传递到客户端。在 Express 中,我可以执行类似 res.render('index', { data: 'someData' }); 的操作,然后我可以访问
这是代码片段: //Category.service.js ... exports.update = async (ctx, next) => { const {categoryId} = ctx
我是 node 和 koa 的新手,所以请原谅我的愚蠢。 我不确定我是否搞砸了。但我想将 Koa 与 OrientDB 一起使用。我可以使用 Oriento(Node 的模块)连接到 OrientDB
我是一名优秀的程序员,十分优秀!