01-Nodejs是什么

举报
yd_220371319 发表于 2026/10/26 18:09:25 2026/10/26
【摘要】 第 1 篇:Node.js 是什么?为什么 JavaScript 能运行在服务器上? 一、先认识 Node.js很多人第一次接触 JavaScript,是在网页里写按钮点击、表单验证和页面交互。浏览器提供了 JavaScript 引擎,因此网页代码可以被执行。Node.js 则把 JavaScript 带到了浏览器之外:我们可以用它编写命令行工具、自动化脚本、HTTP API、实时通信服务...

第 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 版本、当前日期和一段自定义文本。下一篇将安装环境、了解终端和项目目录。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。