本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识。本书绝不是一本“Hello World”的教程。
作者: Manuel Kiessling
翻译: goddyzhao & GrayZhang & MondayChen
https://www.nodebeginner.org/
作者: Manuel Kiessling
翻译: goddyzhao & GrayZhang & MondayChen
https://www.nodebeginner.org/
2021年08月08日
Electron 可以让你使用纯 JavaScript 调用丰富的原生 APIs 来创造桌面应用。你可以把它看作是专注于桌面应用而不是 web 服务器的,io.js 的一个变体。
这不意味着 Electron 是绑定了 GUI 库的 JavaScript。相反,Electron 使用 web 页面作为它的 GUI,所以你能把它看作成一个被 JavaScript 控制的,精简版的 Chromium 浏览器。
这不意味着 Electron 是绑定了 GUI 库的 JavaScript。相反,Electron 使用 web 页面作为它的 GUI,所以你能把它看作成一个被 JavaScript 控制的,精简版的 Chromium 浏览器。
2021年09月02日 Electron 同样也支持原生模块,但由于和官方的 Node 相比使用了不同的 V8 引擎,如果你想编译原生模块,则需要手动设置 Electron 的 headers 的位置。
Node.js是一个非常强大的基于JavaScript的框架/平台,建立在谷歌Chrome的JavaScript V8引擎上。 它用于开发I/O密集型Web应用程序,如视频流式站点,单页面应用程序和其他Web应用程序。 Node.js是开源的,完全免费的,并被全球数千名开发人员使用。
本教程是为希望学习Node.js基础知识及其架构概念的软件程序员而设计的。 本教程将通过合适的示例为您提供有关Node.js所有必要组件的充分理解。
本教程是为希望学习Node.js基础知识及其架构概念的软件程序员而设计的。 本教程将通过合适的示例为您提供有关Node.js所有必要组件的充分理解。
2021年09月17日 Node.js以单线程模式运行,但它使用事件驱动的范例来处理并发。 它还有助于创建子进程,以便在基于多核CPU的系统上利用并行处理。
2021年09月17日 REST代表REpresentational State Transfer。 REST是基于Web标准的体系结构,使用HTTP协议。 它围绕资源,其中每个组件都是资源,资源由使用HTTP标准方法的公共接口访问。 REST最初由Roy Fielding于2000年推出。
REST服务器只提供对资源和REST客户端访问的访问,并使用HTTP协议修改资源。 这里每个资源都由URI /全局ID标识。 REST使用各种表示来表示文本,JSON,XML等资源,但JSON是最受欢迎的。
REST服务器只提供对资源和REST客户端访问的访问,并使用HTTP协议修改资源。 这里每个资源都由URI /全局ID标识。 REST使用各种表示来表示文本,JSON,XML等资源,但JSON是最受欢迎的。
2021年09月17日 Express是一个最小且灵活的Node.js Web应用程序框架,它提供了一组强大的功能来开发Web和移动应用程序。 它有助于基于节点的Web应用程序的快速开发。 以下是Express框架的一些核心功能:
1. 允许设置中间件以响应HTTP请求。
2. 定义路由表,该表用于基于HTTP方法和URL执行不同的操作。
3. 允许基于将参数传递给模板来动态呈现HTML页面。
1. 允许设置中间件以响应HTTP请求。
2. 定义路由表,该表用于基于HTTP方法和URL执行不同的操作。
3. 允许基于将参数传递给模板来动态呈现HTML页面。
2021年09月17日 Node.js提供了一个http模块,可用于创建服务器的HTTP客户端。 以下是在8081端口侦听的HTTP服务器的最小结构。
2021年09月17日 Node.js模块库中有几个实用程序模块。 这些模块非常常见,在开发任何基于节点的应用程序时经常使用。
2021年09月17日 Node.js全局对象本质上是全局的,并且它们在所有模块中都可用。 我们不需要在我们的应用程序中包含这些对象,而是可以直接使用它们。 这些对象是模块,函数,字符串和对象本身。
2021年09月17日 Node使用围绕标准POSIX函数的简单包装器实现文件I/O。
2021年09月17日 流是允许您以连续方式从源读取数据或将数据写入目标的对象。
2021年09月17日 纯JavaScript是Unicode友好的,但二进制数据却不是这样。 在处理TCP流或文件系统时,必须处理八位字节流。 Node提供了Buffer类,它提供了存储类似于整数数组的原始数据的实例,但对应于V8堆外部的原始内存分配。
Buffer类是一个全局类,可以在应用程序中访问而无需导入缓冲区模块。
Buffer类是一个全局类,可以在应用程序中访问而无需导入缓冲区模块。
2021年09月17日 Node中的许多对象都会发出事件,例如net.Server每次对等体连接它时都会发出一个事件,fs.readStream会在打开文件时发出事件。 发出事件的所有对象都是events.EventEmitter的实例。
2021年09月17日 Node.js是一个单线程应用程序,但它可以通过event和callbacks的概念支持并发。Node.js的每个API都是异步的并且是单线程的,它们使用async function calls来维护并发性。 节点使用观察者模式。 节点线程保持事件循环,每当任务完成时,它都会触发相应的事件,该事件表示要执行的事件监听器函数。
2021年09月17日 回调是函数的异步等价物。 在给定任务完成时调用回调函数。 Node大量使用回调。 Node的所有API都以支持回调的方式编写。
例如,读取文件的功能可以开始读取文件并立即将控制返回到执行环境,以便可以执行下一条指令。 一旦文件I/O完成,它将在传递回调函数时调用回调函数,该文件的内容作为参数。 因此没有阻塞或等待文件I/O. 这使得Node.js具有高度可扩展性,因为它可以处理大量请求,而无需等待任何函数返回结果。
例如,读取文件的功能可以开始读取文件并立即将控制返回到执行环境,以便可以执行下一条指令。 一旦文件I/O完成,它将在传递回调函数时调用回调函数,该文件的内容作为参数。 因此没有阻塞或等待文件I/O. 这使得Node.js具有高度可扩展性,因为它可以处理大量请求,而无需等待任何函数返回结果。
2021年09月17日 节点包管理器(NPM)提供两个主要功能:可在search.nodejs.org上搜索的node.js包/模块的联机存储库。用于安装Node.js包的命令行实用程序,执行Node.js包的版本管理和依赖关系管理。
2021年09月17日 REPL 代表 Read Eval Print Loop,它代表一个计算机环境,如Windows 控制台或 Unix/Linux shell,其中输入命令并且系统以交互模式响应输出。
2021年09月17日 在创建一个真实的“Hello World!”之前,使用Node.js的应用程序,让我们看看Node.js应用程序的组件。
2021年09月17日 您真的不需要设置自己的环境来开始学习Node.js. 原因很简单,我们已经在线设置了Node.js环境,这样您就可以在线执行所有可用的示例并通过实践学习。随意修改任何示例并使用不同的选项检查结果。
2021年09月17日 Node.js是一个基于Chrome JavaScript运行时的平台,可轻松构建快速,可扩展的网络应用程序。 Node.js使用事件驱动的非阻塞I/O模型,使其轻量级和高效,非常适合在分布式设备上运行的数据密集型实时应用程序。