每一个文件就是一个模块,拥有自己独立的作用域,变量,以及方法等,对其他的模块都不可见。CommonJS 规范规定,每个模块内部,module 变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。
4 月 18 日,Node.js 正式发布了 20 版本,新版中的亮点包括全新的 Node.js 权限模型、同步的 import.meta.resolve、稳定的测试运行器、更新 V8 JavaScript 引擎到 11.3,Ada 到 2.0 等!
Blob、ArrayBuffer、File、FileReader、FormData这些名词总是经常看到,知道一点又好像不知道,像是同一个东西好像又不是,总是模模糊糊,最近终于下决心要弄清楚。
作者| 王强、丁晓昀 策划 | 褚杏娟 4 月 18 日,Node.js 在官方博客发布了 Node.js 20 版本。 新版亮点: 引入权限控制模型 (Permission Model) 同步的 import.meta.resolve Test Runner 到达稳定状态 V8 JavaScript 引擎更新至 11.3,,增加了 5 个新特性 支持构建单一可执行应用程序 Ada 更新至 2.0 等。 提醒一下,Node.js 14 已进入维护状态 (Maintenance LTS),名称为 Fe
2023 年,我们发布了 Node.js v20[1]。这是一项重要的成就,本文旨在使用科学数据评估 Node.js 性能的状况。
意味着通过 console.log 可以间接的输出彩色文本了,不用再引入三方库了。
在 Node.js 中一个很重要的模块 Events(EventEmitter 事件触发器),也称为发布/订阅模式,为什么说它重要,因为在 Node.js 中绝大多数模块都依赖于此,例如 Net、HTTP、FS、Stream 等,除了这些系统模块比较知名的 Express、Koa 框架中也能看到 EventEmitter 的踪迹。
事实上,前端很少涉及对二进制数据的处理,但即便如此,我们偶尔总能在角落里看见它们的身影。
原文:https://blog.insiderattack.net/deep-dive-into-worker-threads-in-node-js-e75e10546b11
Bun 是一个现代的JavaScript运行环境,如Node, Deno。主要特性如下: 启动速度快。更高的性能。完整的工具(打包器、转码器、包管理)。
你可以在 这里[1] 下载最新版,或者使用 UNIX 上的 Node 版本管理器[2] 运行 nvm install 16 命令进行安装。Node.js 博客中包含的变更日志可以在 这里[3] 找到。
前言:随着 Node.js 的越来越强大,代码量也变得越来越多,不可避免地拖慢了 Node.js 的启动速度,针对这个问题,Node.js 社区通过 V8 的 snapshot 技术对 Node.js 的启动做了优化,在 github 有很多关于此的 issue 讨论,大家有兴趣也可以去看一下。通过快照加速启动是一个非常复杂的过程,这需要对 V8 有深入的理解。本文介绍一下如何在 Node.js 中使用快照加速 Node.js 的启动。以 v16.13.1 为例,社区一直在优化这里面的速度,不同的版本的速度可能不一样。
上一节讲解了迭代器的使用,如果对迭代器还不够了解的可以在回顾下《从理解到实现轻松掌握 ES6 中的迭代器》,目前在 JavaScript 中还没有被默认设定 [Symbol.asyncIterator] 属性的内建对象,但是在 Node.js 中已有部分核心模块(Stream、Events)和一些第三方 NPM 模块(mongodb)已支持 Symbol.asyncIterator 属性。本文也是探索异步迭代器在 Node.js 中的都有哪些使用场景,欢迎留言探讨。
Tl;dr 构建一个监视应用程序执行情况的工具不再是很困难了。Node.js中Async Hooks API和Performance Hooks API最近增加了两个,允许任何人只需一些代码就可以密切关注他们的应用程序的性能。这篇文章解释了构建这样一个工具的关键要素,从编写代码到以清晰的可视化报告收集的数据。 最终的项目在Github上可用,并具有以下特点: 1.一个简单的性能监控代理 2.基于Express和MongoDB的测试应用程序 介绍 在生产中运行Web应用程序时,性能很重要。缓慢的Web
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
Node.js 20 已经发布,带来了创新和激动人心的新时代。这个开创性的版本于2023年4月18日首次亮相,并将在2023年10月发布长期支持(LTS)版本,并且将持续支持至2026年4月,下面小编就为大家介绍一下Node.js20的几个新特性:
这些 C++扩展(xxx.node文件)也能像 JS 模块一样直接require使用,因为Node 模块加载机制提供了原生支持
Node.js 刚刚发布了 18.0.0 版本,内置了 fetch 和 node:test 等标准模块。
2009 年 Ryan Dahl 在JSConf EU大会上推出了 Node.js,最初是希望能够通过异步模型突破传统 Web 服务器的高并发瓶颈,之后愈渐发展成熟,应用越来越广,出现了繁荣的 Node.js 生态
本文由Michael Dawson 和 Bethany Griggs 撰写,同时 Node.js 社区委员会和 Node.js 技术指导委员会也提供了贡献。
Stream 在 Node.js 中是一个被广泛应用的模块,流的两端可读流、可写流之间通过管道链接,通常写入磁盘速度是低于读取磁盘速度的,这样管道的两端就会产生压力差,就需要一种平衡的机制,使得平滑顺畅的从一个端流向另一个端。
在日常工作中,大部分人都会使用 Microsoft Office Word、WPS 或 macOS Pages 等文字处理程序进行 Word 文档处理。除了使用上述的文字处理程序之外,对于 Word 文档来说,还有其他的处理方式么?答案是有的。
Node.js v15.0.0 提供了一个全局实用 API AbortController,用于在选定的基于 Promise API 中发出取消信号。无需引入在所有模块中均可使用,该 API 的实现是基于浏览器中的 Web API AbortController。
从前端转入 Node.js 的童鞋对这一部分内容会比较陌生,因为在前端中一些简单的字符串操作已经满足基本的业务需求,有时可能也会觉得 Buffer、Stream 这些会很神秘。回到服务端,如果你不想只做一名普通的 Node.js 开发工程师,你应该深入去学习一下 Buffer 揭开这一层神秘的面纱,同时也会让你对 Node.js 的理解提升一个水平。
Node.js 的出现,让 JavaScript 脱离了浏览器的束缚,进入了广阔的服务端开发领域。而 Node.js 对 CommonJS 模块化规范的引入,则更是让 JavaScript成为了一门真正能够适应大型工程的语言。
Node.js 太火了,火到几乎所有前端工程师都想学,几乎所有后端工程师也想学。一说到 Node.js,我们马上就会想到“异步”、“事件驱动”、“非阻塞”、“性能优良”这几个特点,但是你真的理解这些词的含义吗?这篇教程将带你快速入门 Node.js,为后续的前端学习或是 Node.js 进阶打下坚实的基础。
Node.js v17.6.0 版本于 2022-02-23 发布,一个显著的特性是试验性支持从 HTTP 和 HTTPS 导入模块,这里面也包括很多问题,包括从安全方面考虑,目前在 Node.js 中使用还是有一些限制。及一些其它的常规小错误修复。
为了能够对 Node.js 版本进行版本管理,我整理了 3 款非常实用的 Node.js 版本管理工具,让大家能够自由地切换本地环境不同的 Node.js 版本。
这个node端的封装是经过同事不断的review(感谢同事),俺不断的修改优化后的代码,当时也是我第一次接触node.js,只想告诉你,用它,稳稳的!
我们的项目是前端用vue,服务端用node.js,这个excel导出我们已经用了一年,我们目前用到的无非是图片导出,文本导出,调调excel单元格距离等.
https://juejin.cn/post/6953882449235410951
在2017年相信ES6已经得到了很大的普及,如果你写过React或者Vue,相信在多年之前就已经体验过ES6的魅力了。言归正传,《深入理解ES6》阅读笔记并不会照搬书上的内容,因为我觉得那很无趣,这些读书笔记会贯穿我自己所积累的知识和理解,而今天要给大家写一写babel。
在最近发布的Node v18.6.0中,带来了一个试验特性ESM Loader Hooks API[1]。
在上一篇文章《3 分钟掌握 Node.js 版本的区别[1]》中介绍了 Node.js 版本分为 LTS 和 Current 系列,当我们需要在本地开发环境同时安装 LTS 版本和 Current 版本时,就需要对 Node.js 版本进行版本管理。
在这篇文章中,我将介绍如何在 Node.js 中使用模块,重点是如何导出和消费它们。
Cocos 官方今天发布了 Cocos Creator 3.3.0 版本,《奔跑吧小仙女》同步升级最新版引擎,购买过的伙伴可免费升级。
突然发现在 Node.js 16.9.0 的官方文档里面,多了个 Experimental 的 Corepack:
Node.js 是最敏捷的服务端 web 应用平台,因为它为应用开发公司提供了构建可扩展的单一编程语言 web 平台的便利。它是最热门的开源的 JavaScript 运行时框架之一,具有跨平台属性,让我们可以在浏览器以外的环境运行代码。
贴一张挂在官网的图片:https://grpc.io/docs/what-is-grpc/introduction/
用 Dominic Tarr 的话来说:“流是 Node 中最好的,也是最容易被误解的想法。”即使是 Redux 的创建者和 React.js 的核心团队成员 Dan Abramov 也害怕 Node 流。
发布/订阅者模式应该是我在开发过程中遇到的最多的设计模式。发布/订阅者模式,也可以称之为消息机制,定义了一种依赖关系,这种依赖关系可以理解为 1对N (注意:不一定是1对多,有时候也会1对1哦),观察者们同时监听某一个对象相应的状态变换,一旦变化则通知到所有观察者,从而触发观察者相应的事件,该设计模式解决了主体对象与观察者之间功能的 耦合。
文章转载至子弈文章:https://juejin.cn/post/6996815121855021087
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
前面有写过使用 Node.js 搭建 HTTPS 服务器 其中的自签名生成证书方式比较简单,既充当 HTTPS 根证书的角色也充当了用户的角色,本文我们会先创建一个 CA 根证书,再创建一个由 CA 根证书签名的自定义证书。
在云函数开发的过程中,我们难免碰到需要访问本地文件的需求(例如:为了通过ip地址获得城市名称,云函数需要检索近一百MB的ip地址库文件),由于云函数无状态的特性,自身并不与特定服务器和本地硬盘关联,而远程访问COS对象存储等方式,则面临将大文件下载到本地缓存中仅获取寥寥数行信息。这时,挂载CFS文件系统是一个较佳的选择。
今天和大家来一起聊一个即将推出的跨 JavaScript 运行时的 Socket API 。
当启用了严格模式(strict mode)后,JS就会在执行代码时变得更为严格。只需在文件或函数顶部放置字符串“use strict”就可以启用严格模式了。
作者简介:五月君,Nodejs Developer,慕课网认证作者,热爱技术、喜欢分享的 90 后青年,欢迎关注 Nodejs技术栈 和 Github 开源项目 https://www.nodejs.red
领取专属 10元无门槛券
手把手带您无忧上云