arkTS是华为自己研发的一套前端语言,是在js和ts技术的基础上又进行了升级而成!
您是否正在使用Node.js中开发一个小的CLI工具,并希望能够提示用户从命令行输入输入? Node.js正是为此目的提供了readline模块。 它提供了一个接口,用于从可读流(例如process.stdin)中一次读取一行数据。
欢迎参加腾讯云 Cloud Studio 实战训练营!在本次训练营中,我们将通过沉浸式体验,带您一步步编写一个基于 Nuxt.js 的静态博客系统。无论您是初学者还是有一定编程经验的开发者,本训练营都将为您提供一个深入了解和掌握 Nuxt.js 技术以及静态网站开发的机会。
本篇博客将通过使用Nuxt 框架开发一个博客系统为线索,一步步的讲解Cloud Studio 的使用以及其强大的优势
repl模块提供了一个”读取-求值-输出-循环”(REPL交互式解释器)的实现,它可以作为一个单独的程序,或者包含在其他程序内部。它可以被这样访问:
这是一次危险的探索,但是或许某些场景下可以用到。主要想做的事情是劫持所有的 Node.js 函数,在函数执行前后,插入钩子做些事情。但是由于场景很多而且负责,劫持的风险非常高,如果你使用以下代码有问题,可以提个 issue。以下代码可以通过预加载方式加载或者在你的代码执行前加载。
在 Node.js 中一个很重要的模块 Events(EventEmitter 事件触发器),也称为发布/订阅模式,为什么说它重要,因为在 Node.js 中绝大多数模块都依赖于此,例如 Net、HTTP、FS、Stream 等,除了这些系统模块比较知名的 Express、Koa 框架中也能看到 EventEmitter 的踪迹。
由于XML仍然继续用作数据交换格式(主要是在企业应用程序中),因此了解如何以编程方式操纵XML文件的内容可能非常有用。 您可以轻松地在Node.js中编写一个小的脚本来立即进行更改,而不必手动编辑数百行XML。 在 之前的文章中,我们研究了如何通过使用开源 xml2js模块将XML文件转换为Node.js中的JSON对象。 今天,您将学习如何使用Node.js编辑XML文件。
node操作Excel的例子 # 安装依赖 npm install一下以下模块 node-xlsx(基于Node.js解析excel文件数据及生成excel文件,仅支持xlsx格式文件) excel-export(基于Node.js将数据生成导出excel文件,生成文件格式为xlsx) fs # 示例代码 demo.js const fs = require('fs') const xlsx = require('node-xlsx') const nodeExcel = require('excel-e
在本章中,我们将构建一个典型的Web应用程序,在前端和后端使用RxJS。我们将转换文档对象模型(DOM)并使用Node.js服务器中的WebSockets进行客户端 - 服务器通信。
通过Edge.js项目,你可以在一个进程中同时运行Node.js和.NET代码。在本文中,我将会论述这个项目背后的动机,并描述Edge.js提供的基本机制。随后将探讨一些Edge.js应用场景,它在这
Node.js 以其天生的处理高并发 I/O 的强大能力闻名于世,我们选用 Node.js 也大多是看上了其这一特性。然而无论是随着开发的逐步深入还是产品在生产环境上的部署,往往会沮丧的发现,高并发 I/O 并不总是生活的全部,CPU 密集型计算依然或多或少的不可避免。
但是我们发现搜遍Node.js的源码都找不到napi_value__定义,那这个定义是什么意思呢?c语言中,允许定义一个没有定义的结构体的指针。所以napi_value其实就是一个一级指针。他不需要类型信息,因为Node.js不会对他进行解引用。比如在c语言中有以下代码
Once you have installed Node, let's try building our first web server. Create a file named "app.js", and paste the following code:
本文主要备忘为Node.js编写组件的三种实现:纯js实现、v8 API实现(同步&异步)、借助swig框架实现。
登陆时让前端访问数据库中已经存好的账号密码,如果可以查询到数据库中的数据,则账号密码正确,登录成功,否则登录失败。
前言:Node.js 提供了 trace event 的机制,在 Node.js 内核代码里,静态地埋了一些点,比如同步文件 IO 耗时,DNS 解析耗时等。每次执行这些代码时,Node.js 就会执行这些点的钩子,从而收集相应的数据。不过这个能力默认是关闭的,毕竟对性能会产生影响。我们可以通过 trace_events 模块打开这个功能。trace_events 模块会源源不断地把数据写到一个到多个文件中。除了通过 trace_events 模块之外,Node.js 也实现了通过 Inspector 协议收集 trace event 数据,本文介绍基于 inspector 协议收集 trace event 数据的实现。
生成报表并下载是作为web应用的一个传统功能,在nodejs中,很多开发人员也提供了很多的依赖来实现这一功能。
从版本8.5.0开始,通过一个命令行选项,Node.js就能支持原生的ES模块。这个新功能主要归功于Bradley Farias。
前言:越来越多同学在使用Node.js,大家也不同程度地理解Node.js是什么。比如Node.js是由V8、Libuv、JS组成的,Node.js底层是C\C++,Node.js不是语言是运行时。本文通过实现一个类Node.js的JS运行时No.js,去理解Node.js的本质。No.js是我之前写的一个JS运行时,概念上是这么说,但是它算不上真正的运行时,它只是个demo,但是它让你看到如果你有兴趣,你也可以写个Node.js。
开发中,有些开发者会积极寻求处理错误,力求减少开发时间,但也有些人完全忽略了错误的存在。正确处理错误不仅意味着能够轻松发现和纠正错误,而且还意味着能够为大型应用程序开发出稳健的代码库。
现在已经有了 npm 的日志记录模块。这些模块可以将日志存储在不同格式或级别的文件中。我们将使用流行的ORM Mongoose 讨论 Node.js Express 程序中的 API 日志记录。
2023 年,我们发布了 Node.js v20[1]。这是一项重要的成就,本文旨在使用科学数据评估 Node.js 性能的状况。
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。它是一个开源和跨平台的服务端应用程序。任何人都可以编写 JavaScript 代码来开发 Node.js 应用程序。它可以运行于 Microsoft Windows、Linux、 或 OS 系统。
JavaScript ES6 brings new syntax and new awesome features to make your code more modern and more readable. It allows you to write less code and do more. ES6 introduces us to many great features like arrow functions, template strings, class destruction, Modules… and more. Let’s take a look.
我们将在本文中比较Java语言和JavaScript语言。 JavaScript由Netscape开发。 它最初是用于客户端的脚本语言,后来又用作客户端和服务器脚本的语言。 Java由James Gosling由Sun Microsystems开发。 这些天来,JavaScript在服务器中以node.js的形式使用。 Java和JavaScript之间在程序编码,编译和运行方式方面存在许多差异。
前言:开发Nodej.js Addon的方式经过不断地改进,已经逐步完善,至少我们不需要在升级Node.js版本的同时担心Addon用不了或者重新编译。目前Node.js提供的开发方式是napi。但是napi用起来非常冗余和麻烦,每一步都需要我们自己去控制,所以又有大佬封装了面向对象版本的api(node-addon-api),使用上方便了很多,本文分析一下node-addon-api的设计思想,但不会分析过多细节,因为我们理解了设计思想后,使用时去查阅文档或者看源码就可以。
Node.js 不仅可以单独运行,还可以以库的方式被使用,本文介绍下如何把 Node.js 嵌入到自己项目中。首先第一步下载 Node.js 源码,然后根据 Node.js 的文档进行编译安装。这样我们就可以拿到 Node.js 提供的头文件和库文件了。接下来根据官方的 demo 写一个测试程序。
Node.js 遵循 CommonJS规范,该规范的核心思想是允许模块通过 require 方法来同步加载所要依赖的其他模块,然后通过 exports 或 module.exports 来导出需要暴露的接口。CommonJS 规范是为了解决 JavaScript 的作用域问题而定义的模块形式,可以使每个模块它自身的命名空间中执行。
通译自:6 Major Features of Node.js 19. Details of Node.js 19 new features… | by Jennifer Fu | Oct, 2022 | Better Programming
Node-API(以前称为 N-API)是 Node.js 官方提供的一个用来编写 C/C++ 插件的稳定模块。不同版本的 Node.js 只要遵循的 应用二进制接口(ABI) 的版本是一致的或向前兼容的,即可在多个 Node.js 版本之间切换使用。通俗的讲:“当你在 Node.js v12 编译之后的模块切换到 Node.js 14 无需重新编译仍可运行”。
https://segmentfault.com/a/1190000038589634
JavaScript 语言最初是为简单的表单操作而发明的,没有诸如模块或命名空间之类的内置功能。多年以来发明了大量的术语、模式、库、语法和工具来模块化 JavaScript。本文讨论了 JavaScript 中的所有主流模块系统、格式、库和工具,包括:
原文来自:ZHUIMEN,https://segmentfault.com/a/1190000038589634
前言:随着 Node.js 的越来越强大,代码量也变得越来越多,不可避免地拖慢了 Node.js 的启动速度,针对这个问题,Node.js 社区通过 V8 的 snapshot 技术对 Node.js 的启动做了优化,在 github 有很多关于此的 issue 讨论,大家有兴趣也可以去看一下。通过快照加速启动是一个非常复杂的过程,这需要对 V8 有深入的理解。本文介绍一下如何在 Node.js 中使用快照加速 Node.js 的启动。以 v16.13.1 为例,社区一直在优化这里面的速度,不同的版本的速度可能不一样。
这个node端的封装是经过同事不断的review(感谢同事),俺不断的修改优化后的代码,当时也是我第一次接触node.js,只想告诉你,用它,稳稳的!
我们的项目是前端用vue,服务端用node.js,这个excel导出我们已经用了一年,我们目前用到的无非是图片导出,文本导出,调调excel单元格距离等.
let session = require('express-session'); ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:373:25) at Object.
前言:之前的文章介绍了通过快照的方式加速 Node.js 的启动,除了快照,V8 还提供了另一种技术加速代码的执行,那就是代码缓存。通过 V8 第一次执行 JS 的时候,V8 需要即时进行解析和编译 JS代码,这个是需要一定时间的,代码缓存可以把这个过程的一些信息保存下来,下次执行的时候,通过这个缓存的信息就可以加速 JS 代码的执行。本文介绍在 Node.js 里如何利用代码缓存技术加速 Node.js 的启动。
https://juejin.cn/post/6953882449235410951
如果你有一个 Node.js 项目,并想使用 TypeScript 进行改造,那本文对你或许会有帮助。
前言:通过快照的方式加速 Node.js 的启动,除了快照,V8 还提供了另一种技术加速代码的执行,那就是代码缓存。通过 V8 第一次执行 JS 的时候,V8 需要即时进行解析和编译 JS代码,这个是需要一定时间的,代码缓存可以把这个过程的一些信息保存下来,下次执行的时候,通过这个缓存的信息就可以加速 JS 代码的执行。本文介绍在 Node.js 里如何利用代码缓存技术加速 Node.js 的启动。
每一个文件就是一个模块,拥有自己独立的作用域,变量,以及方法等,对其他的模块都不可见。CommonJS 规范规定,每个模块内部,module 变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。
BigPipe 是 Facebook 开发的优化网页加载速度的技术。网上几乎没有用 node.js 实现的文章,实际上,不止于 node.js,BigPipe 用其他语言的实现在网上都很少见。以至于这技术出现很久以后,我还以为就是整个网页的框架先发送完毕后,用另一个或几个 ajax 请求再请求页面内的模块。直到不久前,我才了解到原来 BigPipe 的核心概念就是只用一个 HTTP 请求,只是页面元素不按顺序发送而已。 了解了这个核心概念就好办了,得益于 node.js 的异步特性,很容易就可以用 node
在 JavaScript 逆向过程中,我们可能找到了一些入口,但是深入追踪下去,就发现这个过程过于复杂,调用层级越来越深,最终很难完全把整个过程完整还原出来,不得不放弃。
上篇将3D弹力布局的算法运行在Web Workers后台,这篇我们将进一步折腾,将算法运行到真正的后台:Node.js,事先申明Node.js篇和Web Workers篇一样,在这个应用场景下并不能提
领取专属 10元无门槛券
手把手带您无忧上云