随笔分类 -  Node.js

摘要:最近发现一个基于Node.js平台上的Express框架运行的Web网站经常报这样一个错误: 网站的源码中有专门针对错误处理的中间件,经过精简之后的代码如下: 乍一看,这里的status code不太可能为0,因为无论err.code的值为字符串0还是数字0,最终都会被赋值为500。除非err.co 阅读全文
posted @ 2019-06-27 16:31 Jaxu 阅读(3073) 评论(0) 推荐(0)
摘要:在Node.js中,我们可以通过qr-image包直接在后台生成二维码图片,使用方法很简单: 但是如果我们希望生成的不仅仅是二维码,而是在一张给定的背景图上生成二维码,并在底部配上相应的文字说明,那么就需要借助于其它一些包来实现。 images包是Node.js上一个轻量级的跨平台图像处理库,可以用 阅读全文
posted @ 2018-12-29 16:56 Jaxu 阅读(2817) 评论(0) 推荐(0)
摘要:问题描述:服务器系统架构采用的是koa(并非koa2),客户端富文本编辑器采用的是百度的ueditor控件。现在需要ueditor支持将图片直接上传到七牛云。 前提:百度的ueditor需要在本地配置为可用,图片上传相关的配置可以参考官方文档的描述。由于服务器用的node.js,因此ueditor目 阅读全文
posted @ 2018-06-20 11:51 Jaxu 阅读(1209) 评论(0) 推荐(0)
摘要:V8的Turbofan的性能特点将如何对我们优化的方式产生影响 审阅:来自V8团队的Franziska Hinkelmann和Benedikt Meurer. **更新:Node.js 8.3.0已经发布了V8 6.0和Turbofan. Node.js依靠V8 JavaScript引擎来运行代码, 阅读全文
posted @ 2018-02-04 16:35 Jaxu 阅读(4940) 评论(3) 推荐(3)
摘要:如何通过使用Q来并发执行多个promises呢? 上面的代码输出结果为1。很显然,你不能简单地将各个promises都放到一个Q()函数里来执行,这样只有第一个promise会被正确地执行,剩余的都会被忽略掉。 你可以使用Q.all来代替上面的方法,它们之间的主要区别是前者将每个promise单独作 阅读全文
posted @ 2017-11-10 20:38 Jaxu 阅读(524) 评论(0) 推荐(0)
摘要:ES6 Generators系列: 如果你已经读过这个系列的前三篇文章,那么你肯定对ES6 generators非常了解了。希望你能从中有所收获并让generator发挥它真正的作用。最后我们要探讨的这个主题可能会让你血脉喷张,让你绞尽脑汁(说实话,写这篇文章让我很费脑子)。花点时间看下文章中的这些 阅读全文
posted @ 2017-03-20 23:37 Jaxu 阅读(1991) 评论(0) 推荐(0)
摘要:ES6 Generators系列: 通过前面两篇文章,我们已经对ES6 generators有了一些初步的了解,是时候来看看如何在实际应用中发挥它的作用了。 Generators最主要的特点就是单线程执行,同步风格的代码编写,同时又允许你将代码的异步特性隐藏在程序的实现细节中。这使得我们可以用非常自 阅读全文
posted @ 2017-03-03 00:38 Jaxu 阅读(2165) 评论(0) 推荐(1)
摘要:ES6 Generators系列: 如果你还不知道什么是ES6 generators,请看我的前一篇文章“ES6 Generators基本概念” 。如果你已经对它有所了解,本文将带你深入了解ES6 generators的一些细节。 错误处理 ES6 generators设计中最牛逼的部分之一就是ge 阅读全文
posted @ 2017-02-08 18:50 Jaxu 阅读(934) 评论(0) 推荐(1)
摘要:ES6 Generators系列: 在JavaScript ES6提供的诸多令人兴奋的新特性中,有一个新函数类型,叫generator。名字听起来很怪(我们姑且将它称之为生成器函数),而且行为更加让人觉得怪异。本文旨在解释generator函数的一些基本知识,用来说明它是如何工作的,并帮助你了解为什 阅读全文
posted @ 2017-02-07 10:43 Jaxu 阅读(3052) 评论(2) 推荐(2)
摘要:yield next和yield* next之间到底有什么区别?为什么需要yield* next?经常会有人提出这个问题。虽然我们在代码中会尽量避免使用yield* next以减少新用户的疑惑,但还是经常会有人问到这个问题。为了体现自由,我们在koa框架内部使用了yield* next,但是为了避免 阅读全文
posted @ 2017-01-23 16:23 Jaxu 阅读(4023) 评论(0) 推荐(0)
摘要:通常情况下,在Node.js中我们可以通过underscore的extend或者lodash的merge来合并两个对象,但是对于像下面这种复杂的对象,要如何来应对呢? 例如我有以下两个object: 希望合并之后的结果输出成下面这样: 通过underscore或者lodash现有的方法我们无法实现上 阅读全文
posted @ 2016-12-26 10:01 Jaxu 阅读(8820) 评论(3) 推荐(0)
摘要:如何在Node.js中encode一个字符串呢?是否也像在PHP中使用base64_encode()一样简单? 在Node.js中有许多encoding字符串的方法,而不用像在JavaScript中那样定义各种不同的全局函数。下面是如何在Node.js中将一个普通字符串encode成Base64格式 阅读全文
posted @ 2016-11-21 21:34 Jaxu 阅读(23127) 评论(0) 推荐(1)
摘要:Linux环境下,root账户,安装某些npm包的时候报下面的错误,例如安装grunt-contrib-imagemin时: 解决办法如下: 具体内容可以看下面这两个页面的介绍: https://docs.npmjs.com/misc/scripts#user https://docs.npmjs. 阅读全文
posted @ 2016-09-12 11:50 Jaxu 阅读(2499) 评论(0) 推荐(1)
摘要:今天有同事问我下面这段代码是什么意思: 我也不是很明白,于是研究了一下。下面是我的一些体会。 Christmas Trees和Errors 如果你写过JavaScript或NodeJS代码,你也许会对callback地狱深有体会。每次当你进行异步调用时,按照callback的契约,你需要传一个fun 阅读全文
posted @ 2016-07-06 00:02 Jaxu 阅读(690) 评论(0) 推荐(0)
摘要:目录 前言 1 不使用开发工具 1.1 自动重启工具 1.2 浏览器自动刷新工具 2 阻塞event loop 3 频繁调用回调函数 4 圣诞树结构的回调(回调的地狱) 5 创建一个大而完整的应用程序 6 缺少日志 7 没有测试 8 不使用静态分析工具 9 没有监视与性能分析 10 使用consol 阅读全文
posted @ 2016-06-27 01:18 Jaxu 阅读(7153) 评论(5) 推荐(9)
摘要:在Node.js中使用MongoDB少不了Mongoose。 假设有如下Mongoose Schemas的定义: 我们希望在保存model数据时不用指定createTime字段的值,按照上述Schema的定义,createTime会自动保存为系统当前时间。当然,在更新model数据时updateTi 阅读全文
posted @ 2016-06-18 00:07 Jaxu 阅读(5139) 评论(0) 推荐(0)
摘要:运行环境:Ubuntu 16.04, WebStorm 2016.1.3, node.js v0.12.5, nodemon 1.9.2 在WS自带的终端输入nodemon server.js启动项目,报如下错误提示,服务能正常跑,但是无法监测文件修改。 解决办法是在终端输入如下命令,然后重新运行n 阅读全文
posted @ 2016-06-07 23:36 Jaxu 阅读(3494) 评论(0) 推荐(0)
摘要:在使用JQuery的Ajax从服务器请求数据或者向服务器发送数据时常常会遇到跨域无法请求的错误,常用的解决办法就是在Ajax中使用JSONP。基于安全性考虑,浏览器会存在同源策略,然而<script/>标签却具有跨域访问数据的能力,这就是JSONP工作的基本原理。有关同源策略以及什么是JSONP,可 阅读全文
posted @ 2016-05-17 22:04 Jaxu 阅读(5404) 评论(0) 推荐(0)
摘要:前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0。下面是上传图片的核心代码: HTML JavaScript 上述代码使用FormData来实现表单数据提交。FormData是一种针对XHR2设 阅读全文
posted @ 2016-05-17 00:06 Jaxu 阅读(2822) 评论(0) 推荐(0)
摘要:介绍如何使用PM2将Node.js app的集群变得更加容易,不用修改任何代码,只需要通过一个命令即可完成。 阅读全文
posted @ 2016-02-17 22:27 Jaxu 阅读(43971) 评论(7) 推荐(4)