目录
[一、Node.js 是什么?](#一、Node.js 是什么?)
[二、为什么选择 Node.js?](#二、为什么选择 Node.js?)
[三、快速上手:Hello Node.js!](#三、快速上手:Hello Node.js!)
从浏览器到服务器:JavaScript的跨时代突破
如果你曾用 JavaScript 编写过网页交互逻辑,那么 Node.js 将为你打开一扇新世界的大门------让 JavaScript 跳出浏览器,直接运行在操作系统上,成为构建高性能服务器、工具链甚至桌面应用的全能语言。
一、Node.js 是什么?
1. 定义与核心架构
Node.js 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境。它让 JavaScript 脱离了浏览器的限制,可以直接在操作系统(如 Windows、Linux、macOS)上执行,成为一门"真正的"编程语言。
-
V8 引擎:Google 为 Chrome 浏览器开发的 JavaScript 引擎,以高性能著称。
-
事件驱动与非阻塞I/O:Node.js 的核心设计,使其擅长处理高并发请求(如实时聊天、API 服务)。
2. 单线程?异步?
-
单线程事件循环:Node.js 主线程是单线程的,但通过异步非阻塞机制,能高效处理大量并发任务。
-
背后的多线程:底层依赖的 C++ 模块(如文件操作、网络请求)使用线程池,开发者无需直接管理。
二、为什么选择 Node.js?
1. 统一技术栈
-
前端与后端均使用 JavaScript,降低学习成本,代码复用率高(例如数据校验逻辑共享)。
-
配合 Express、NestJS 等框架,快速构建 RESTful API 或微服务。
2. 高性能场景
-
I/O 密集型应用:如实时消息推送(WebSocket)、大数据流处理(视频转码)。
-
工具开发:Webpack、Babel 等前端工具链均基于 Node.js。
3. 活跃的生态
-
npm(Node Package Manager):全球最大的开源库生态系统,提供超过 200 万个模块。
-
社区支持强大,问题解决资源丰富。
三、快速上手:Hello Node.js!
1. 安装 Node.js
访问 Node.js 官网,下载 LTS(长期支持)版本。安装后验证:
bash
node -v # 查看 Node.js 版本
npm -v # 查看 npm 版本
2. 第一个脚本
创建 app.js
文件:
javascript
// 引入内置 HTTP 模块
const http = require('http');
// 创建服务器实例
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello Node.js!\n');
});
// 监听 3000 端口
server.listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
javascript
//导入读写模块fs
const fs = require('fs')
//使用读写模块fs.readFile()读取文件
fs.readFile(__dirname + '/files/成绩表.txt', 'utf8', function (err, dataStr) {
if(err){
return console.log('读取文件失败!' + err.message)
}
const arr = dataStr.split(' ')
const newarr = []
arr.forEach(item=>{
newarr.push(item.replace('=',':'))
})
console.log(newarr.join('\r\n'))
const newarry = newarr.join('\r\n')
fs.writeFile(__dirname +'/files/整理过后的成绩表.txt', newarry, function(err){
if(err){
return console.log('写入文件夹失败!' + err.message)
}
console.log('写入文件成功')
})
})
3. 运行与测试
命令行执行:
javascript
node app.js
浏览器访问 http://localhost:3000
,页面显示 "Hello Node.js!"
四、核心概念:模块化
1. CommonJS 模块
Node.js 默认使用 CommonJS 规范管理代码模块:
-
导出模块 :
module.exports
或exports
-
导入模块 :
require('模块路径')
示例:
javascript
// math.js
const add = (a, b) => a + b;
module.exports = { add };
// app.js
const { add } = require('./math.js');
console.log(add(2, 3)); // 输出 5
2. ES Modules(现代浏览器标准)
在 .mjs
文件或 package.json
中设置 "type": "module"
后支持:
javascript
// math.mjs
export const add = (a, b) => a + b;
// app.mjs
import { add } from './math.mjs';
五、下一步学习方向
-
掌握 npm :学习包管理、
package.json
配置与脚本命令。 -
框架实践:Express.js 快速搭建 Web 服务,或 NestJS 构建企业级应用。
-
异步编程:深入理解 Promise、async/await 与事件循环机制。
-
实战项目:开发 REST API、命令行工具或实时聊天应用。
Node.js 的诞生,让 JavaScript 从"玩具语言"蜕变为"全能战士"。无论是初创公司还是大型企业(如 Netflix、PayPal),都在利用其高并发特性优化性能。现在,你已迈出第一步,接下来就是探索更广阔的世界!
相关资源