弄死 Node.js 进程有几种方法

2021-03-29
阅读 5 分钟
7.3k
有几个原因会导致 Node.js 进程终止。其中一些是可以避免的,例如抛出错误时,而另一些是无法防止的,例如内存不足。全局 process 是一个 Event Emitter 实例,当执行正常退出时,将发出一个 exit 事件。然后程序代码可以通过侦听这个事件来执行最后的同步清理工作。

js 引擎是怎样将 var 转换为 JIT 的

2021-03-25
阅读 5 分钟
3.4k
对于现代 Web 程序,浏览器首先看到的 JavaScript 通常不是前端程序员写的。相反,它很可能是由 webpack 之类的工具产生的捆绑包,而且可能是一个相当大的捆绑包,其中包含 UI 框架,例如 React,各种 polyfills(在较旧的浏览器中模拟新平台功能的库),以及在 npm 上找到的各种软件包。浏览器的 JavaScript 引擎面临的...

关于 Node.js 中的异步迭代器

2021-03-19
阅读 4 分钟
2.9k
异步迭代器实际上是以前迭代器的异步版本。当我们不知道迭代的值和最终状态时,可以使用异步迭代器。两者不同的地方在于,我们得到的 promise 最终将被分解为普通的 { value: any, done: boolean } 对象,另外可以通过 for-await-of 循环来处理异步迭代器。就像 for-of 循环用于同步迭代器一样。

2020 年 Node.js 全球下载情况报告

2021-03-10
阅读 4 分钟
4.7k
2020 年是充满了变化和挑战的的一年。NodeSource Node.js 二进制文件下载量逐月增加,为全球数百万用户提供了Node.js的强大功能。

Node.js 的 QUIC 支持

2021-03-05
阅读 7 分钟
6k
在2019年3月,受到 NearForm 和 Protocol Labs 的支持,我开始为 Node.js 实现 QUIC 协议 支持。这个基于 UDP 的新传输协议旨在最终替代所有使用 TCP 的 HTTP 通信。

把 Node.js 中的回调转换为 Promise

2020-11-20
阅读 5 分钟
6.3k
即使有了新的方法,但是仍然有许多使用回调的原生模块和库。在本文中,我们将讨论如何将 JavaScript 回调转换为 Promise。 ES6 的知识将会派上用场,因为我们将会使用 展开操作符之类的功能来简化要做的事情。

用 EventEmitter 处理 Node.js 中的事件

2020-10-30
阅读 8 分钟
4.3k
在本教程中我们学习 Node.js 的原生 EvenEmitter 类。学完后你将了解事件、怎样使用 EvenEmitter 以及如何在程序中利用事件。另外还会学习 EventEmitter 类从其他本地模块扩展的内容,并通过一些例子了解背后的原理。

用 Node.js 处理 CORS

2020-10-28
阅读 6 分钟
6.7k
作者:Janith Kasun翻译:疯狂的技术宅原文:[链接]未经允许严禁转载介绍在本文中,我们将研究怎样用 Express 配置 CORS 以及根据需要定制 CORS 中间件。什么是CORSCORS 是“跨域资源共享”的简写。它是一种允许或限制向 Web 服务器上请求资源的机制,具体取决于进行 HTTP 请求的位置。这种策略用于保护特定 Web 服务器免...

一些小众却有用的 Node.js 包

2020-10-21
阅读 6 分钟
3.7k
yargs 是一个用来处理命令行参数的包,可以帮你处理自行设置的命令行标志和输入的任何类型的数据,其中包括布尔值、浮点数和字符串等。这个包非常简单明了,不需要在项目中编写大量的样板代码。

Node.js 中的异步生成器和异步迭代

2020-09-14
阅读 6 分钟
3.1k
生成器函数在 JavaScript 中的出现早于引入 async/await,这意味着在创建异步生成器(始终返回 Promise 且可以 await 的生成器)的同时,还引入了许多需要注意的事项。

最全面的 Deno 入门教程

2020-09-09
阅读 12 分钟
8.5k
Deno 是新的 JavaScript 和 TypeScript 运行时。Node.js 的发明者 Ryan Dahl 于 2020 年发布了 Deno,作为 Node.js 的改进。但是 Deno 不是 Node.js,而是全新的 JavaScript 运行时,同时也支持 TypeScript。与 Node.js 相似,Deno 可用于服务器端 JavaScript,但其目的是消除 Node.js 所犯的错误。它就像 Node.js 2.0 ...

在Deno中使用 Node 模块

2020-09-02
阅读 3 分钟
5.2k
尽管方法不是很好,但有时别无选择。Deno 是基于 Web 技术的服务器端代码执行环境。Node 使用 JavaScript 与 commonjs 模块,并把 npm/yarn 作为其包管理器。Deno 使用 Typescript 或 JavaScript, 以及现代的 javascript 导入语句。它不需要包管理器。想要导入 deno 中的模块,应该通过 URL 引用: {代码...} 你可以在 ...

方便快捷的调试 Node.js 程序

2020-08-31
阅读 3 分钟
3.1k
在调试程序时总是会遇到各种挑战。 Node.js 的异步工作流为这一艰巨的过程增加了额外的复杂性。尽管 V8 引擎为了方便访问异步栈跟踪进行了一些更新,但是在很多数情况下,我们只会在程序主线程上遇到错误,这使得调试有些困难。同样,当我们的 Node.js 程序崩溃时,通常需要依靠一些复杂的 CLI 工具来分析核心转储。

用 Docker 打包 Nodejs 程序

2020-08-19
阅读 4 分钟
8.2k
作者:NJOKU SAMSON EBERE原文:[链接]你听到过这样的对话吗? {代码...} 这种对话很常见。这一般是由于工作环境设置或配置不同而引起的。这就是为什么要使用 docker 的主要目的。在文中,我将教你什么是 docker,为什么使用以及怎样用来给 nodejs 程序打包。什么是Docker?Docker 的定义为:Docker 是一个容器化平台,...

在Node.js中使用Zip文件

2020-08-12
阅读 3 分钟
3.9k
从 adm-zip 的 npm 模块中导出一个 AdmZip 类。 AdmZip的实例对应于一个zip文件。如果想要创建一个新的 zip 文件,在调用 new AdmZip() 时不应带任何参数:

深入研究 Node.js 的回调队列

2020-08-04
阅读 6 分钟
3.2k
作者:Dillion Megida翻译:疯狂的技术宅原文:[链接]未经允许严禁转载队列是 Node.js 中用于有效处理异步操作的一项重要技术。在本文中,我们将深入研究 Node.js 中的队列:它们是什么,它们如何工作(通过事件循环)以及它们的类型。Node.js 中的队列是什么?队列是 Node.js 中用于组织异步操作的数据结构。这些操作以...

用 Javascript 爬取网页

2020-06-28
阅读 10 分钟
12.9k
本文主要针对具有一定 JavaScript 经验的程序员。如果你对 Web 抓取有深刻的了解,但对 JavaScript 并不熟悉,那么本文仍然能够对你有所帮助。

VS Code 调试完全攻略(3):编辑变量并重新执行函数

2020-05-29
阅读 3 分钟
6.3k
作者:Charles Szilagyi翻译:疯狂的技术宅 原文:[链接] 未经允许严禁转载 可以通过在调试器中重新执行代码块,来查看它们在不同情况下的行为。在调用栈中修改变量并重新执行函数可以让你节省大量的时间! VS Code 调试完全攻略系列目录 基础知识 步进逐行调试 编辑变量并重新执行函数 launch.json 和调试控制台 基于浏...

从 Node 到 Deno

2020-05-25
阅读 9 分钟
5.4k
我收集了一些 Node 中最常用的主题,并寻找 Deno 的替代方案。首先我想说明,许多当前的 Node.js 模块都可以都可以用在 Deno 中。由于许多模块都是可重用的,所以没有必要为所有方法去寻找替代方案。你可以访问pika.dev 查找可以在 Deno 中使用的模块。

Deno 意味着什么?

2020-05-19
阅读 4 分钟
3.7k
如果你一直关注 Web 开发领域,那么最近可能已经听到了很多关于 Deno 的信息——一种新的 JavaScript 运行时,它可能也会被认为是 Node.js 的继承者。但是这意味着什么,我们需要“下一个 Node.js” 吗?

Node.js 中的异步迭代器

2020-05-08
阅读 4 分钟
3.1k
从 Node.js v10.0.0 开始,异步迭代器就出现中了,最近它们在社区中的吸引力越来越大。在本文中,我们将讨论异步迭代器的作用,还将解决它们可能用于什么目的的问题。

Node.js v14 官方发布说明来了

2020-04-23
阅读 4 分钟
9.5k
本文由Michael Dawson 和 Bethany Griggs撰写,同时 Node.js 社区委员会和 Node.js 技术指导委员会也提供了贡献。

与 JavaScript 模块相关的所有知识点

2020-04-17
阅读 26 分钟
4.2k
JavaScript 语言最初是为简单的表单操作而发明的,没有诸如模块或命名空间之类的内置功能。多年以来发明了大量的术语、模式、库、语法和工具来模块化 JavaScript。本文讨论了 JavaScript 中的所有主流模块系统、格式、库和工具,包括:

用 Node.js 爬虫下载音乐

2020-04-16
阅读 5 分钟
3.6k
互联网上有许多可供人类消费的信息。但是如果这些数据不是以专用的 REST API 的形式出现,通常很难以编程方式对其进行访问。使用 jsdom 之类的 Node.js 工具,你可以直接从网页上抓取并解析这些数据,并用于你自己的项目和应用。

我们是怎样优化 V8 中的指针压缩的

2020-04-15
阅读 12 分钟
3.9k
作者:V8开发团队 Lgor Sheludko & Santiago Aboy Solanes翻译:疯狂的技术宅 原文:[链接] 未经允许严禁转载

怎样避免Node.js模块的日志污染程序日志

2020-04-01
阅读 4 分钟
2.8k
你是否有过这样的经历,当把 logging 添加到自定义 Node 模块中,并认为自己将会从这些额外信息中受益,却发现当你将模块添加为依赖项并运行 npm install 和 npm start 时,你的程序日志就会像下面吗?

在 5 分钟内搭建 Node.js 微服务原型

2020-03-07
阅读 3 分钟
7.6k
作者:Sergey Kravchenko翻译:疯狂的技术宅 原文:[链接] 未经允许严禁转载 微服务已成为在 Node.js 中构建可扩展且强大的云应用的主流方法。同时也存在一些门槛,其中一些难点需要你在以下方面做出决策: 组织项目结构。 将自定义服务连接到第三方服务(数据库,消息代理等) 处理微服务之间共享的代码。 将项目容器化...

node.js 内存泄漏的秘密

2020-02-07
阅读 7 分钟
4.2k
并非所有的内存泄漏都显而易见。但是,一旦我们确定了其模式,就必须在内存使用率,内存中保存的对象和响应时间之间寻找关联。在检查对象时,应该根据自己所用的框架或技术(例如服务器端渲染),研究收集了多少对象,以及它们是否正常。希望在完成本文结束之后,你将能够理解并寻找一种策略来调试 Node.js 程序的内存消...

Node.js 中间件是怎样工作的?

2020-02-03
阅读 6 分钟
9.2k
作者:thirdrock team翻译:疯狂的技术宅 原文:[链接] 未经允许严禁转载 什么是 Express 中间件? 中间件在字面上的意思是你在软件的一层和另一层中间放置的任何东西。 Express 中间件是在对 Express 服务器请求的生命周期内所执行的函数。 每个中间件都可以访问其被附加到的所有路由的 HTTP 请求和响应。 另外,中间件...

面向开发人员的十大 NodeJS 框架

2020-01-10
阅读 4 分钟
5.9k
Node.js 是基于 Chrome V8 javascript 引擎构建的开源、跨平台运行时环境。事件驱动的非阻塞 I/O 模型使 NodeJS 框架 能够开发极其轻便且高效的 Web 应用程序。