Node.js是什么?

你可能知道JavaScript可以在浏览器里写代码,让网页动起来。但Node.js让JavaScript“走出”了浏览器,能在服务器端运行。它就像一个“JavaScript的后端管家”,让你用熟悉的JavaScript语法来开发后端程序,比如搭建网站服务器、处理数据库请求等。

Node.js基于Google的V8引擎(就是浏览器里跑JS的那个引擎),让JavaScript从前端扩展到了后端,实现了“全栈JavaScript开发”。

为什么要学Node.js?

对初学者来说,Node.js有几个特别的优势:
- JavaScript全栈开发:前后端都用JavaScript,不用学多种语言(比如前端HTML/CSS/JS,后端Python/Java),代码复用性更高。
- 非阻塞I/O:想象你点外卖,传统后端可能要“等一个订单处理完才接下一个”,而Node.js像“同时接10个订单的服务员”,能高效处理大量并发请求(比如聊天软件、在线直播)。
- 轻量高效:适合开发小而快的项目,比如个人博客、API接口、实时聊天工具等。
- 丰富生态:通过npm(Node Package Manager,类似前端的包管理器)可以轻松安装各种工具包,比如处理数据库、文件操作、路由管理等。

安装Node.js(简单几步)

  1. 去官网下载:打开 Node.js官网,推荐选“LTS版本”(稳定版,适合初学者)。
  2. 安装:Windows/Mac/Linux直接双击安装包,按提示下一步(Windows用户注意勾选“Add to PATH”,方便命令行调用)。
  3. 验证安装:打开命令行工具(Windows用“cmd”或“PowerShell”,Mac/Linux用“终端”),输入:
   node -v  # 显示Node.js版本,比如v20.10.0
   npm -v   # 显示npm版本,比如10.2.3

如果显示版本号,说明安装成功!

第一个Node.js程序:“Hello World”服务器

现在,让我们用Node.js写一个简单的HTTP服务器,它会在你访问时返回“Hello World”。

  1. 创建文件:在电脑任意位置新建一个文本文件,改名为 server.js(后缀必须是.js)。
  2. 写代码
   // 引入Node.js内置的http模块(处理HTTP请求的工具)
   const http = require('http');

   // 创建服务器实例,处理请求和响应
   const server = http.createServer((req, res) => {
     // 设置响应头:状态码200(成功),内容类型是文本
     res.writeHead(200, { 'Content-Type': 'text/plain' });
     // 响应内容:Hello World
     res.end('Hello World!\n');
   });

   // 让服务器监听3000端口(端口号可以改,比如8080)
   const PORT = 3000;
   server.listen(PORT, () => {
     console.log(`服务器已启动!访问 http://localhost:${PORT}`);
   });
  1. 运行程序:在命令行进入 server.js 文件所在的文件夹,输入:
   node server.js

命令行会显示 服务器已启动!访问 http://localhost:3000
4. 测试:打开浏览器,输入 http://localhost:3000,就能看到“Hello World!”啦!

Node.js的核心能力:文件操作与包管理

除了HTTP服务器,Node.js还能做很多事:

1. 文件系统(fs模块)

fs 模块可以读写本地文件。比如读取一个文本文件:

const fs = require('fs');

// 异步读取文件(非阻塞,不卡住其他操作)
fs.readFile('example.txt', 'utf8', (err, data) => {
  if (err) {
    console.error('读取失败:', err);
    return;
  }
  console.log('文件内容:', data);
});

注意:需要提前创建 example.txt 文件(比如在同一文件夹下写点内容),运行 node filename.js 就能看到文件内容。

2. 包管理器(npm)

npm是Node.js的“应用商店”,可以安装别人写好的工具包。比如安装一个生成艺术字的包 figlet
- 安装包:在命令行执行

  npm install figlet  # 安装figlet包(--save可以把依赖写入package.json)
  • 使用包
  const figlet = require('figlet');
  figlet('Node.js真好玩!', (err, data) => {
    console.log(data);
  });

运行后会看到类似“Node.js真好玩!”的艺术字效果。

总结:Node.js入门不难,实践出成果

Node.js的学习门槛低,代码直观,适合初学者快速上手。从“Hello World”服务器开始,逐步尝试文件操作、调用第三方包,你就能感受到用JavaScript开发后端的乐趣。

后续可以学习Express框架(简化路由、中间件等),或者开发简单的全栈项目(比如带数据库的博客)。记住:编程最重要的是动手实践,别怕犯错,多敲代码就能进步!

现在,试着写一个自己的“小项目”吧——比如用Node.js搭建一个简单的待办事项列表API,或者读取本地图片并返回给浏览器!

小夜