nodejs
文章平均质量分 81
future_challenger
这个作者很懒,什么都没留下…
展开
-
如何开发一个产品级的Node.js 应用
介绍Node.js是一个开源的javascript运行时环境。非常简单可以快速开发一个网络应用。这个平台运行在Linux、OSX和Windows,而且运行在这个平台上的应用都是用javascript写的。Node.js的应用可以使用命令行启动,但是这里我们主要介绍的是作为一个服务运行,这样在电脑重启或者出问题之后可以重新运行起来,这是在产品环境下需要的。本文会介绍如何使用两台Ubuntu1翻译 2015-05-04 16:27:22 · 1108 阅读 · 0 评论 -
老树新芽,在ES6下使用Express
要让Express在ES6下跑起来就不得不用转码器Babel了。首先新建一个在某目录下新建一个项目。然后跳转到这个目录下开始下面的操作。简单走起安装babel-cli$ npm install --save-dev babel-cli然后,可以安装一些presets$ npm install --save-dev babel-preset-es2015 babel-preset-stage-2现在就原创 2016-08-23 16:35:42 · 2419 阅读 · 0 评论 -
用Promise让Node的异步任务顺序执行
Node的机制导很多的任务执行是异步的,一般用回调处理任务的结果。多任务就会导致多层嵌套。于是Promise就被用来处理这个事情。尤其是bluebird的Promise实现功能丰富。如果需要一大串的任务全部执行完成之后继续后面的,那么就用Promise.all方法,如果要任务顺序执行,并把每次的结果单独处理就用Promise.reduce方法。这两个方法组合起来就可以发挥更加大的威力:/** *原创 2016-07-31 13:56:33 · 7656 阅读 · 0 评论 -
NodeJs回调操作Promise化
mongoose是一个NodeJs下MongoDB的ORM库。mongoose已经开启了对Promise的支持,只需要指定明确的Promise库。同时,对于已经存在的对象和方法如何Promise化他们?情况文中详细内容。原创 2016-07-08 17:27:05 · 2079 阅读 · 0 评论 -
Nodejs的测试和测试驱动开发
测试是保证软件质量必不可少的一环。测试有很多形式:手动、自动、单元测试等等。这里我们只聊使用Mocha这个框架在Nodejs中实现单元测试。单元测试是测试等重要组成,这样的测试只对于一个方法,这样的一小段代码,实施有针对的测试。这里会逐步深入的讲解单元测试。首先是最简单的单元测试,没有外部依赖,只有简单的输入。接着是实用Sino框架实现stub等有依赖的测试。最后讲解如何单元测试异步代码。安装Moc翻译 2016-06-21 09:53:16 · 1216 阅读 · 0 评论 -
NodeJs 关系数据库ORM库:Bookshelf.js
bookshelf.js是基于knex的一个关系型数据库的ORM库。简单易用,内置了Promise的支持。这里主要罗列一些使用的例子,例子就是最好的教程。下面就是用mysql作为实例数据库表明bookshelf如何使用。其他的几个关系型数据库使用上基本一致,只是配置等地方需要使用的名称各自不同。为了更加贴近实际全部的例子都会放在Express打造的RESTful服务里。安装bookshelf和kne原创 2016-07-05 11:14:03 · 3046 阅读 · 0 评论 -
基于Node的PetShop,oauth2认证RESTful API
前文使用包passport实现了一个简单的用户名、密码认证。本文改用oauth2来实现更加安全的认证。OAUTH2用户认证,只使用用户名、密码还是非常基础的认证方式。现在RESTful API认证最多使用的是oauth2。使用oauth2就需要使用https,并hash处理client secret、auth code以及access token。oauth2需要使用包oauth2orize:npm原创 2016-07-01 23:38:29 · 8636 阅读 · 0 评论 -
基于Node的PetShop,RESTful API以及认证
由于宠物店的业务发展需要,我们需要一种更加便捷的方式来管理日益增多的宠物和客户。最好的方法就是开发一个APP,我可以用这个APP来添加、更新和删除宠物。同时,业务要给宠物店的会员用户有限查看某些宠物。我们在开发中会用到NodeJs以及基于NodeJs的开发框架,如:Express,Mongoose(用来管理MongoDB的数据),Passport(认证)等工具。原创 2016-07-01 11:15:59 · 2912 阅读 · 0 评论 -
Mongoose轻松搞定MongoDB,不要回调!
Mongoose是一个MongoDB下非常好用的ORM库,而且简单易学。是开发的好帮手。另外还有bluebird加成。处理mongodb的时候就更加的得心应手了。原创 2016-06-25 18:51:14 · 6351 阅读 · 0 评论 -
给小白的Expressjs4教程
成为全栈开发就从搞定nodejs、Express开始。本文是专门给nodejs的初学者的Express教程。有了这篇教程会让你学习Express开发web应用事半功倍。原创 2016-05-31 22:50:25 · 4292 阅读 · 0 评论 -
第一个nodejs应用
应用这个词很火,哪里都在用。这里的nodejs应用其实是一个站点,准确的说是运行在本地的一个小小的Http站点。但是nodejs开发主要还是集中在少数的几个核心功能上,而不是那种动辄几千几万个文件,支撑多少并发多少功能的这种大型站点。所以nodejs开发的这些小型http站点也叫做应用。当然nodejs是可以做这种大型的站点的。我们这里要做的示例应用主要是让刚接触的同学明白使用nodejs开发一个应原创 2016-05-31 07:50:21 · 2266 阅读 · 0 评论 -
理解Nodejs的Event Loop
Node的“event loop”主要是用来处理高输出量的。这很神奇,这也是为什么node可以在单线程的情况下同时处理很多的后台操作。本文就会集中讲述event loop是怎么运行的,这样你可以可以使用这个神奇的东西完成你自己的工作。 事件驱动的编程(event-driven programming)要理解event loop首先需要了解的就是event driven programm原创 2015-07-29 18:58:06 · 1675 阅读 · 0 评论 -
Scaling Node.js Applications
http://cjihrig.com/blog/scaling-node-js-applications/Scaling Node.js applications can be a challenge. JavaScript’s single threaded nature prevents Node from taking advantage of modern multi-转载 2015-08-31 10:20:27 · 637 阅读 · 0 评论 -
Bluebird-NodeJs的Promise
Promise是异步代码实现控制流的一种方式。这一方式可以让你的代码干净、可读并且健壮。比如,你用来异步处理文件事件的回调代码:fs.readFile('directory/file-to-read', function(err, file){ if (error){ //handle error } else { //do some翻译 2015-07-29 23:11:05 · 9937 阅读 · 0 评论 -
ASYNC PROGRAMING IN JAVASCRIPT
本文从异步风格讲起,分析Javascript中异步变成的技巧、问题和解决方案。具体的,从回调造成的问题说起,并谈到了利用事件、Promise、Generator等技术来解决这些问题。异步之殇NON-BLOCKING无限好?异步,是没有线程模型的Javascript的救命稻草。说得高大上一些,就是运用了Reactor设计模式1。Javascript的一切都是围绕着“异步”二子转载 2015-07-30 10:20:14 · 628 阅读 · 0 评论 -
Node.js使用MySQL的连接池
使用Nodejs+MySQL肯定比PHP和MySQL的组合更适合做服务器端的开发。使用Nodejs你会从他的异步行为中获益良多。比如,提升性能,你无须在从已有的MySQL数据库迁移到其他的NoSQL数据库获得性能的提升。Nodejs如何使用MySQLNodejs要连接MySQL,可以使用Nodejs的MysQL驱动来实现。比如,我们这里使用“node-mysql”连接数据库。我原创 2015-07-17 22:05:12 · 4485 阅读 · 1 评论 -
Node.js是什么
当我向人们介绍Node.js的时候,一般会有两种反应:多数立刻表示“哦,这样啊”,另外的则会感到困惑。如果你是第二种的话,我会试着这样解释node:这是一个命令行工具。你可以下载一个tar包,然后编译安装。在terminal中输入“node my_app.js”就可以运行起来你的javascript代码。JS都是在V8引擎(这也是Google Chrome这么快的原因)中运行的。Nod翻译 2015-07-29 11:16:51 · 852 阅读 · 0 评论 -
玩转Nodejs的集群
在Nodejs中使用集群还是不容易的。Javascript的单线程属性让nodejs下的应用很难使用现代机器的多核特性。比如下面的代码实现了一个http服务器的主干部分。这部分代码只会执行在一个线程上,不管这段代码运行的机器是单核的cpu还是1000个内核的cpu。var http = require("http");var port = parseInt(process.argv[2]原创 2015-07-27 16:41:29 · 1947 阅读 · 0 评论 -
如何在NodeJS项目中优雅的使用ES6
如何在NodeJS项目中优雅的使用ES6NodeJs最近的版本都开始支持ES6(ES2015)的新特性了,设置已经支持了async/await这样的更高级的特性。只是在使用的时候需要在node后面加上参数:--harmony。但是,即使如此node也还是没有支持全部的ES6特性。所以这个时候就需要用到Babel了。现在开始Babel在开始使用Babel之前,假设 1. 你已经安装了nodejs,并原创 2017-01-21 22:28:48 · 20159 阅读 · 1 评论