node.js
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。
Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。
特性
- Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。
- V8引擎执行Javascript的速度非常快,性能非常好。
- Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。
- Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
v12.7.0 更新内容
- deps:
- 将nghttp2更新为1.39.1(gengjiawen)。
- 更新了npm到6.10.0(isaacs) 。
- esm:
- 实施了实验性的“pkg-exports”提案。\"exports\"可以将新字段添加到模块的package.json文件中以提供自定义子路径别名。有关 更多信息,请参阅proposal-pkg-exports(Guy Bedford)。
- http:
- 补充response.writableFinished(Robert Nagy)。
- 曝光headers,rawHeaders以及其他领域的http.ClientRequest \"information\"事件(奥斯汀赖特)。
- 检查员:
- 补充inspector.waitForDebugger()(Aleksei Koziatinskii)。
- 政策:
- 添加了--policy-integrity=sriCLI选项以减轻策略篡改。如果指定了策略完整性且策略不具有该完整性,则Node.js将在运行任何代码之前出错(Bradley Farias)。
- readline,tty:
- 来自各种写字符的方法的暴露流API(cjihrig)。
- src:
- 使用cgroups获取内存限制。这改进了我们为Node.js进程设置内存上限的方式。以前我们会使用物理内存大小来估计必要的V8堆大小。物理内存大小不一定是正确的限制,例如,如果进程在docker容器内运行或受其他限制。此更改增加了获取linux cgroups设置的内存限制的能力,docker容器使用它 来设置资源限制 (Kelvin Jin)。
示例
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at ${hostname}:${port}/`);
});
您知道哪些好用的nodejs 开源库,欢迎评论分享,共同探讨学习
如果觉得文章能够对您有所帮助,可以关注我,你的支持会鼓励我不断分享更多更好的优质文章。