前言 在node程序开发中时,经常需要打印调试日志。用的比较多的是debug模块,比如express框架中就用到了。下文简单举几个例子进行说明。文中相关代码示例,可在这里找到。...备注:node在0.11.3版本也加入了util.debuglog()用于打印调试日志,使用方法跟debug模块大同小异。 基础例子 首先,安装debug模块。...DEBUG=app,api:表示同时打印出命名空间为app、api的调试日志。 DEBUG=a*:支持通配符,所有命名空间为a开头的调试日志都打印出来。...debug('My name is %h', 'chying'); 相关链接 debug:https://github.com/visionmedia/debug debuglog:https://nodejs.org.../api/util.html#util_util_debuglog_section 本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 github主页地址。
前言 在node程序开发中时,经常需要打印调试日志。用的比较多的是debug模块,比如express框架中就用到了。下文简单举几个例子进行说明。文中相关代码示例,可在这里找到。...备注:node在0.11.3版本也加入了util.debuglog()用于打印调试日志,使用方法跟debug模块大同小异。 基础例子 首先,安装debug模块。...DEBUG=app,api:表示同时打印出命名空间为app、api的调试日志。 DEBUG=a*:支持通配符,所有命名空间为a开头的调试日志都打印出来。...-account*表示排除所有以account开头的命名空间的调试日志。...debug('My name is %h', 'chying'); 相关链接 debug:https://github.com/visionmedia/debug debuglog:https://nodejs.org
使用node-inspector来调试node 安装 npm install -g node-inspector 启动 启动要调试的项目: node --debug 文件名 启动node-inspector
今天我们来详细介绍一下如何调试nodejs程序。 开启nodejs的调试 还记得之前我们讲到的koa程序吗?本文将会以一个简单的koa服务端程序为例,来展开nodejs的调试。...这会执行app.js但是并不会开启调试功能。 怎么进行调试呢? 我们需要加上 –inspect 参数: node --inspect app.js 上面的代码将会开启nodejs的调试功能。...第二件事情就是告诉我们nodejs使用的调试器是Inspector。 Inspector是nodejs 8之后引入的,如果是在nodejs 7之前,那么使用的是legacy debugger。...调试的安全性 如果debugger连接到了nodejs运行环境中,如果有恶意攻击者的话,这个恶意攻击者可以在nodejs环境中运行任意代码。这会给我们的程序带来很大的安全隐患。...使用node-inspect来进行调试 其实nodejs有一个自带的调试工具,叫做node-inspect,这是一个cli的调试工具。我们看一下怎么使用。
1、首先通过node-inspect插件可以debug nodejs ,先起nodejs服务,再启用node-inpector服务 安装调试器 npm install -g node-inspector...监听调试服务 node-inspector -p 8000 启动调试程序 node --debug-brk server.js 在localhost:8080?
简介 对于开发者来说,在开发应用程序的过程中,往往为了开发方便和解决bug需要借助于编程语言的调试功能。一般来说我们需要借助于强大IDE的调试功能来完成这项工作。nodejs也不例外。...今天我们来详细介绍一下如何调试nodejs程序。 开启nodejs的调试 还记得之前我们讲到的koa程序吗?本文将会以一个简单的koa服务端程序为例,来展开nodejs的调试。...第二件事情就是告诉我们nodejs使用的调试器是Inspector。 Inspector是nodejs 8之后引入的,如果是在nodejs 7之前,那么使用的是legacy debugger。...调试的安全性 如果debugger连接到了nodejs运行环境中,如果有恶意攻击者的话,这个恶意攻击者可以在nodejs环境中运行任意代码。这会给我们的程序带来很大的安全隐患。...使用node-inspect来进行调试 其实nodejs有一个自带的调试工具,叫做node-inspect,这是一个cli的调试工具。我们看一下怎么使用。
前言path 模块是 nodejs 中用于处理文件/目录路径的一个内置模块,可以看作是一个工具箱,提供诸多方法供我们使用,当然都是和路径处理有关的。...同时在前端开发中 path 模块出现的频率也是比较高的,比如配置 webpack 的时候等。本文是对该模块中一些常用的方法进行介绍,走,一起学习下吧。...需要注意下,nodejs 中所有的模块(内置,自定义)都需要使用 requier 进行导入,一般导入位置在文件顶部。...dirname,filename__dirname:可以看作是 nodejs 中的全局变量,它始终表示当前执行文件所在目录的完整目录名(绝对路径)__filename:可以看作是 nodejs 中的全局变量...结语关于nodejs path 模块,我们今天就说到这里了,虽然 api 不是很多,但是 path 模块在前端的使用频率还是非常高的,所以觉得很值得学习了解一下的。
async模块是为了解决嵌套金字塔,和异步流程控制而生,常用方法有series、parallel、waterfall、parallelLimit、auto、whilst、doWhilst、forever
这次研究下 nodejs 的 crypto 模块,它提供了各种各样加密算法的 API。这篇文章记录了常用加密算法的种类、特点、用途和代码实现。其中涉及算法较多,应用面较广,每类算法都有自己适用的场景。...此类算法一共分为两类: 对称加密(AES):加密和解密使用同一个密钥 非对称加密解密(RSA):公钥加密,私钥解密 对称加密(AES) 查看 nodejs 支持的所有加密算法: crypto.getCiphers...(); Nodejs 提供了 Cipher 类和 Decipher 类,分别用于加密和解密。...除此之外,crypto 模块还提供了其他算法工具,例如 ECDH 在区块链中有应用。这篇文章没有再记录,感兴趣的同学可以去查阅相关资料。...参考链接 NodeJS docs: crypto 推荐:Node.js 加密算法库 Crypto 推荐:什么是 hash?
前篇《Nodejs学习笔记(一)——初识Nodejs》主要介绍了在搭建node环境过程中遇到的小问题以及搭建Eclipse开发Node环境的前提步骤。...本篇主要介绍如何在Eclipse中运行并调试nodejs程序。 1.安装Express。Express是目前最稳定、使用最广泛,而且是Node.js官 方推荐的唯一一个 Web 开发框架。 ...这是已经成功运行了,下面还有如何调试 1.进入RobotProject目录下,执行node --debug app.js(注意是两个中划线) ? ...至此,便达到了在Eclipse中运行nodejs程序并且可以实现调试的目的,下面就可以安心的学习nodejs代码啦^_^ 如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力
Nodejs 提供了 cluster 来支持服务集群的扩展,提高多核 CPU 的利用效率,实现负载均衡,最大程度利用机器性能。...这里是为了深入理解和学习 cluster 模块。 如何处理进程退出?...关于检测方法可以看这篇文章《NodeJS 模块研究 - os》。...这些方法在 vemojs 中都有应用,具体可以看这篇文章:《VemoJS 源码拆解》 参考链接 Nodejs 文档 NodeJS 模块研究 - os VemoJS 源码拆解 autocannon 解读...NodeJS 的 Cluster 模块 Node.js 集群(cluster):扩展你的 Node.js 应用
nodejs 的 zlib 模块提供了资源压缩功能。例如在 http 传输过程中常用的 gzip,能大幅度减少网络传输流量,提高速度。...本文将从下面几个方面介绍 zlib 模块和相关知识点: 文件压缩 / 解压 HTTP 中的压缩/解压 压缩算法:RLE 压缩算法:哈夫曼树 文件的压缩/解压 以 gzip 压缩为例,压缩代码如下:...参考链接 Nodejs 文档 30 分钟 HTTP 查漏补缺之 Vary 程序员不得不了解的硬核知识大全
nodejs 提供了 DNS 查询和操作的 API,本篇的目录是: 什么是 DNS 解析? dns.resolve*() vs dns.lookup() 什么是反向域名解析?...dns.resolve*() vs dns.lookup() 在 dns 模块中,提供了两类解析的 API:resolve*() 和 loopup()。...dns 模块提供了reverse()函数来实现反向域名解析: dns.reverse("220.181.38.148", (err, hostnames) => { if (err) throw...} = require("dns"); const resolver = new Resolver(); resolver.setServers(["4.4.4.4"]); 参考链接 Nodejs DNS...Doc Node.js:DNS 模块的使用
直接上图 node require(X).jpg 参考文献:require() 源码解读
读了 events 模块的文档,研究了几个有意思的问题: ?️ 事件驱动模型 ?️ 优雅的错误处理 ?️ 监听器器队列顺序处理 ?️ 内存管理与防止泄漏 ?...配合 Promise 使用 引用/转载 请声明出处:原文链接: xxoo521.com 事件驱动模型 Nodejs 使用了一个事件驱动、非阻塞 IO 的模型。...events模块是事件驱动的核心模块。很多内置模块都继承了events.EventEmitter。 自己无需手动实现这种设计模式,直接继承EventEmitter即可。
个人原创,如需转载,请联系作者 URL模块用于解析和处理URL字符串,提供了三个方法: parse format resolve parse方法 将URL解析成一下几部分: href:原始url...with=query¶m=that', href: 'http://www.nodejs.org/some/url/?...布尔值用来确定queryString是否要用querystring模块来解析,默认为false。...host: 'www.nodejs.org', ... port: null, ... hostname: 'www.nodejs.org', ......href: 'http://www.nodejs.org/some/url/?
ReadStream 与 WriteStream 在 nodejs 中,stream 是个非常重要的库。很多库的 api 都是基于 stream 来封装的。
在 nodejs 中,实现各种功能,总避免不了和“数据”打交道,这些数据可能是 Buffer、字符串、数组等等。但当处理大量数据的时候,如何保证程序的稳健性?如何不让内存爆掉呢?...nodejs 提供了 stream 模块,来让开发者更优雅地处理数据。这需要开发者理解“流”的含义,遵循“流”的相关规范,来进行“流”编程。 相较于其他的模块系列,需要理解的概念偏多。...本文主要从以下几个方面深入 stream 模块: 什么是“流”? 流有哪几种类型? 内部缓冲的作用? 流动模式 vs 暂停模式 背压问题 如何产生的? 如何解决背压问题?...本机内存不够,或者超过了 nodejs 的内存限制。 程序性能下降。过高的内存占用可能会导致频繁触发 GC,影响其他程序的运行。...参考连接 Nodejs 文档 数据流中的积压问题 通过源码解析 Node.js 中导流(pipe)的实现 Node.js Stream - 基础篇
领取专属 10元无门槛券
手把手带您无忧上云