01-Nodejs是什么
第 1 篇:Node.js 是什么?为什么 JavaScript 能运行在服务器上?
一、先认识 Node.js
很多人第一次接触 JavaScript,是在网页里写按钮点击、表单验证和页面交互。浏览器提供了 JavaScript 引擎,因此网页代码可以被执行。Node.js 则把 JavaScript 带到了浏览器之外:我们可以用它编写命令行工具、自动化脚本、HTTP API、实时通信服务,甚至开发构建工具。
简单来说,Node.js 是一个让 JavaScript 能够在浏览器之外运行的 JavaScript 运行时环境。它不是一种新的编程语言,也不是一个 Web 框架。JavaScript 仍然是我们编写程序时使用的语言;Node.js 提供运行环境以及文件、网络、进程等能力。
二、Node.js 和浏览器有什么区别?
二者都能执行 JavaScript,但提供的宿主能力不同。
浏览器通常提供 window、document、DOM、页面事件等接口,适合操作网页。Node.js 则提供 process、Buffer、fs、path、http 等接口,适合处理文件、网络请求和系统进程。浏览器里的 document.querySelector() 在普通 Node.js 程序中通常不存在;Node.js 的 fs.readFile() 也不能直接在普通网页脚本里使用。
它们都可以支持标准 JavaScript 语法,例如变量、函数、对象、数组、Promise 和 async/await。不过,具体支持的语法和 API 取决于运行时版本。
三、Node.js 为什么适合网络服务?
Node.js 的一个重要特点是事件驱动和非阻塞 I/O。网络服务经常需要等待客户端请求、数据库响应或文件读取。很多等待并不需要 CPU 持续工作。Node.js 可以在等待 I/O 时继续处理其他任务,适合大量 I/O 密集型应用。
这不代表 Node.js 在所有场景都更快。如果程序大量执行复杂数学计算、图像处理或压缩运算,JavaScript 主线程仍可能被占用。此时可以考虑将任务拆分、使用工作线程,或把计算交给专门的服务。
四、安装后先运行第一段程序
先从 Node.js 官方网站安装当前适合你的 LTS 版本。安装完成后,在终端执行:
node --version
npm --version
第一条命令查看 Node.js 版本,第二条查看 npm 版本。npm 通常会随 Node.js 一起安装。
新建 hello.js 文件:
console.log("Hello, Node.js!");
在文件所在目录运行:
node hello.js
终端应该输出:
Hello, Node.js!
console.log() 用于向控制台输出信息。node hello.js 的含义是让 Node.js 运行这个 JavaScript 文件。
五、Node.js 常见用途
- Web 服务和 API: 为网站、移动应用或其他客户端提供数据。
- 自动化脚本: 批量处理文件、调用接口、整理数据。
- 命令行工具: 开发项目脚手架、代码检查和构建工具。
- 实时应用: 聊天、协作、通知等需要持续通信的场景。
- 开发工具: 前端工程化生态中的许多工具都运行在 Node.js 上。
六、几个容易混淆的概念
| 名称 | 作用 |
|---|---|
| JavaScript | 编程语言 |
| Node.js | JavaScript 运行时环境 |
| npm | 常用的包管理工具与软件包仓库客户端 |
| Express、Fastify | 构建 Web 服务的框架 |
| V8 | 执行 JavaScript 的引擎之一,Node.js 使用它 |
Node.js 并不要求一定使用框架。后续我们会先学习原生 API,再根据需要引入第三方库。
七、本篇小结
本篇需要记住三点:Node.js 不是语言,而是运行环境;它让 JavaScript 可以访问文件和网络等服务器端能力;它尤其适合 I/O 密集型应用,但并非所有计算任务的最佳选择。
动手练习: 创建 hello.js,输出你的 Node.js 版本、当前日期和一段自定义文本。下一篇将安装环境、了解终端和项目目录。
- 点赞
- 收藏
- 关注作者
评论(0)