刚入门,我打算跟着这个随笔走:
会先从ChatGPT的中文文档开始:
以上笔记和文档里的内容就不会在我的学习笔记里重复了,最后会把注意力转移到Hugging Face和论文上面。学习笔记里只会记录我比较在意的概念和疑问。同样是大量借助了ChatGPT的帮助。
什么是Node.js?
Node.js 是一种运行环境,具体来说,它是一个基于 Chrome V8 JavaScript 引擎的运行时环境,用于在服务器端运行 JavaScript 代码;或者说,Node.js 扩展了 JavaScript 的功能,让 JavaScript 不再仅仅是运行在浏览器中的脚本语言,而是能够在服务器端运行并处理后端任务的完整编程环境。
Node.js的核心概念
-
运行环境:
- JavaScript 最早是作为浏览器中的脚本语言设计的,用来处理用户交互和动态内容(例如点击事件、表单验证等)。
- 然而,JavaScript 只能在浏览器中运行,无法用作后端或服务器端开发。
- Node.js 的出现使得 JavaScript 不再局限于浏览器,开发者可以在服务器端运行 JavaScript 代码。
-
基于 V8 引擎:
- Node.js 的底层是 Google 的 V8 引擎(用于 Chrome 浏览器),它将 JavaScript 编译为高效的机器代码。
- 因此,Node.js 在执行 JavaScript 时速度非常快。
-
跨平台支持:
- Node.js 可以运行在 Windows、macOS 和 Linux 系统上,非常适合开发跨平台应用。
为什么说 Node.js 是“环境”?
Node.js 是一种环境,因为它提供了以下能力,使 JavaScript 脱离浏览器运行:
1. 扩展 JavaScript 的能力
- 在浏览器中,JavaScript 的能力是受限的,只能操作 DOM(文档对象模型)和处理前端事件。
- Node.js 提供了对操作系统、文件系统、网络等的访问能力,例如:
- 文件操作:读写文件(
fs
模块)。 - 网络请求:创建 HTTP 服务器(
http
模块)。 - 系统操作:执行系统命令(
child_process
模块)。
- 文件操作:读写文件(
2. 提供模块化支持
- Node.js 内置了一个模块系统(CommonJS),允许开发者将代码分割成多个文件和模块,并通过
requi