nodejs
文章平均质量分 56
心灵的爱
这个作者很懒,什么都没留下…
展开
-
Converting circular structure to JSON
nodejs 循环引用JSON序列化错误的解决办法,可以 使用 util.inspect 代替 JSON.stringifyvar util = require("util")var a = {};a.b = a;a.c = "abcdefg"; // console.log(JSON.stringify(a)); // 报错console.log(util.inspec原创 2017-11-14 10:53:03 · 1991 阅读 · 0 评论 -
NodeJs操作流数据结构的stream
什么是流?流是一种抽象的数据结构。想象水流,当在水管中流动时,就可以从某个地方(例如自来水厂)源源不断地到达另一个地方(比如你家的洗手池)。我们也可以把数据看成是数据流,比如你敲键盘的时候,就可以把每个字符依次连起来,看成字符流。这个流是从键盘输入到应用程序,实际上它还对应着一个名字:标准输入流(stdin)。如果应用程序把字符一个一个输出到显示器上,这也可以看成是一个流,这个流也有名字:标准...转载 2018-11-19 21:00:51 · 310 阅读 · 0 评论 -
Bookshelf连接pg数据库
bookshelf.js是基于knex的一个关系型数据库的ORM库。简单易用,内置了Promise的支持。这里主要罗列一些使用的例子,例子就是最好的教程。下面就是用mysql作为实例数据库表明bookshelf如何使用。其他的几个关系型数据库使用上基本一致,只是配置等地方需要使用的名称各自不同。为了更加贴近实际全部的例子都会放在Express打造的RESTful服务里。安装bookshelf和kn...转载 2018-03-26 15:58:48 · 1162 阅读 · 1 评论 -
使用sinopia搭建自己的npm服务
随着代码的积累,感觉有必要自己搭建一个npm服务,对自己的代码库进行管理。为什么选sinopia,之前有 仁兄使用Kappa 搭建私有npm私有库,看上去比较麻烦,还需要依赖CouchDB数据库。参考 https://segmentfault.com/a/1190000000491162我去强大的github上搜索了一下,发现了sinopia,纯nodejs解决方案,不需要什么依赖的软件包。果然是...转载 2018-04-08 13:22:17 · 539 阅读 · 0 评论 -
Nodejs源码解析之events
Nodejs中的events模块是很常见的模块,其实现了事件注册,通知等功能,是观察者模式的实现。其使用很简单,实例代码如下:// 导入events模块var events = require('events');// 创建EventEmitter对象var eventEmitter = new events.EventEmitter();//回调函数1var listener1 = ...转载 2018-04-08 10:59:59 · 177 阅读 · 0 评论 -
nodejs中异常错误的处理方式
因为nodejs是单线程的,所以一旦发生错误或异常,如果没有及时被处理整个系统就会崩溃。错误异常有两种场景的出现,一种是代码运行中throw new error没有被捕获,另一种是Promise的失败回调函数,没有对应的reject回调函数处理,针对这两种情况Nodejs都有默认的统一处理方式,就是给整个进程process对象监听相应的错误事件。比如1 process.on('uncaug原创 2017-12-27 11:32:28 · 4216 阅读 · 0 评论 -
Sequelize 中文文档 v4 - Transactions - 事务
Transactions - 事务此系列文章的应用示例已发布于 GitHub: sequelize-docs-Zh-CN. 可以 Fork 帮助改进或 Star 关注更新. 欢迎 Star.Sequelize 支持两种使用事务的方法:一个将根据 promise 链的结果自动提交或回滚事务,(如果启用)用回调将该事务传递给所有调用而另一个 leave committi转载 2017-12-27 10:42:04 · 1502 阅读 · 0 评论 -
node.js使用cheerio制作网络爬虫
打算要写一个公开课网站,缺少数据,就决定去网易公开课去抓取一些数据。前一阵子看过一段时间的Node.js,而且Node.js也比较适合做这个事情,就打算用Node.js去抓取数据。关键是抓取到网页之后如何获取到想要的数据呢?然后就发现了cheerio,用来解析html非常方便,就像在浏览器中使用jquery一样。使用如下命令安装cheerio npm ins转载 2017-11-20 21:55:11 · 433 阅读 · 0 评论 -
NodeJs中的模块概念
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Node环境中,一个.js文件就称之为一个模块(module)。使用模块有什么好处?最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当...转载 2018-11-19 21:06:05 · 412 阅读 · 0 评论