原文地址:http://www.moye.me/2014/11/10/ecmascript-6-generator/ 引子 老听人说 koa大法好,这两天我也赶了把时髦:用 n 安上了node 0.11.12,下了个koa开启harmony模式试水.在一系列文档和贴子的教育下,大概认识到: koa 是TJ大神主导的新一代Web框架 koa 的中间件基于ES6的生成器函数(function *)形式 koa的核心流程库是 co,它能很好的解决Pyramid of Doom问题 在接触 Node.j…
继PHP.Ruby.Python和Perl之后,Elasticsearch最近发布了Elasticsearch.js,Elasticsearch的JavaScript客户端库.可以在Node.js和浏览器中使用. 安装node.js模块 在Node.js项目中使用,只需用npm安装: 浏览器 Elasticsearch.js为现代浏览器准备了构建,可从此处取得. 下载后解压缩,然后选择适合你的文件: elasticsearch.jquery.js —— 如果你使用jQuery elasticse…
继PHP.Ruby.Python和Perl之后,Elasticsearch最近发布了Elasticsearch.js,Elasticsearch的JavaScript客户端库.可以在Node.js和浏览器中使用. 安装node.js模块 在Node.js项目中使用,只需用npm安装: 浏览器 Elasticsearch.js为现代浏览器准备了构建,可从此处取得. 下载后解压缩,然后选择适合你的文件: elasticsearch.jquery.js —— 如果你使用jQuery elasticse…
工作原因需要用到nodejs,于是找到了<node.js开发指南>这本书来看看,作者BYVoid 为清华大学计算机系的高材生,年纪竟比我还小一两岁,中华地广物博真是人才辈出,佩服. 言归正传: 1.为什么会想写这篇文章? 答:因为在看这本书的过程中,因为nodejs版本升级后用法跟书中不同了. 另外因为nodejs这东西真的不错,值得学习. 2.我的例子与书中例子的区别? 答:nodejs版本不同,我例子中用的是最新版本.数据库不同,书中用的是mongdb,我用的是mysql. models-…
实例代码test.js var http=require('http'); var url=require('url'); var querystring=require('querystring'); http.createServer(function(request, response) { var urlStr = request.url; var methodName = urlStr.substring(1, urlStr.indexOf('?')); console.log('me…
在 Node.js 中,广泛采用不同形式的闭包来支持 Node 的异步和事件驱动编程模型.通过很好地理解闭包,您可以确保所开发应用程序的功能正确性.稳定性和可伸缩性. 闭包是一种将数据与处理数据的代码相关联的自然方式,它使用 continuation passing(后继传递)作为主要的语义风格.使用闭包时,您在一个封闭范围内定义的数据源可供该范围内创建的函数访问,甚至在已经从逻辑上退出这个封闭范围时也是如此.在函数是一等 (first-class) 变量的语言中(比如 JavaScript),…
首先必须要保持Node.js与MongoDB保持连接 具体教程见:Node.js连接MongoDB数据库步骤 插入数据步骤如下 node项目文件如下:在routes文件夹下新建insert.js文件,具体代码如下(my_database是我之前创建的库名): 然后在cmd中进入routes目录下:输入命令 node insert.js这样就插入数据成功啦 查询的步骤与插入一样: 在routes下新建find.js文件,代码如下: 同上在routes下输入cmd命令 node find.js ,即…
学习架构: 在实战项目中,经常需要记录下服务器的响应时间,也就是从服务器接收到HTTP请求,到最终返回给客户端之间所耗时长.在Koa应用中,利用中间件机制可以很方便的实现这一功能.代码如下所示: 01 const koa = require('koa'); 02 const app = new koa(); 03 app.use(async (ctx, next) => { // 记录服务器响应时间的中间件 04 let stime = new Date().getTime(); // 记录当前…
本次分析的KOA版本是2.13.1,它非常轻量,诸如路由.模板等功能默认都不提供,需要自己引入相关的中间件. 源码的目录结构比较简单,主要分为3部分,__tests__,lib和docs,从名称中就可以了解到. __tests__是单元测试,lib是核心代码,docs是文档.在lib目录中只有4个文件. ├── __tests__ ------------------------ 单元测试 ├── docs ----------------------------- 文档 ├── lib ---…
在上一篇中,主要分析了package.json和application.js文件,本文会分析剩下的几个文件. 一.context.js 在context.js中,会处理错误,cookie,JSON格式化等. 1)cookie 在处理cookie时,创建了一个Symbol类型的key,注意Symbol具有唯一性的特点,即 Symbol('context#cookies') === Symbol('context#cookies') 得到的是 false. const Cookies = requi…