一、引言
Node.js 是一个强大的 JavaScript 运行环境,允许开发者在服务器端使用 JavaScript 进行编程。它具有高并发、高效的特点,广泛应用于 Web 开发、命令行工具等领域。本文将带您深入了解 Node.js 的安装、基本概念、文件操作、数据库操作以及使用 Express 框架的方法。
二、Node.js 的安装
- 访问 Node.js 官方网站(Node.js — Run JavaScript Everywhere)。
- 选择 “LTS”(长期支持)版本,下载适合您操作系统的安装包。
- 按照安装向导进行安装。安装完成后,在命令行中输入以下命令检查安装是否成功:
node -v
npm -v
如果能正确显示 Node.js 和 npm(Node.js 的包管理器)的版本号,则说明安装成功。
三、Node.js 的基本概念
1.模块系统
- Node.js 使用 CommonJS 模块规范,可将代码分割成多个模块,便于组织和管理。
- 通过
require()
函数引入其他模块,使用module.exports
或exports
对象导出模块功能。 - 例如:
// math.js
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
module.exports = {
add,
subtract
};
// 引入模块
const math = require('./math');
console.log(math.add(5, 3)); // 输出 8
console.log(math.subtract(10, 4)); // 输出 6
2.事件驱动和异步编程:
- Node.js 是事件驱动的,采用异步编程模型处理 I/O 操作,避免阻塞主线程,提高性能和响应速度。
- 可使用回调函数、Promise 或 async/await 处理异步操作结果。
- 回调函数读取文件示例:
const fs = require('fs');
fs.readFile('example.txt', 'utf8', (err, data) => {
if (err) {
console.error(err);
} else {
console.log(data);
}
});
Promise 读取文件示例:
const fs = require('fs').promises;
fs.readFile('example.txt', 'utf8')
.then(data => console.log(data))
.catch(err => console.error(err));
async/await 读取文件示例:
const fs = require('fs').promises;
async function readFileAsync() {
try {
const data = await fs.readFile('example.txt', 'utf8');
console.log(data);
} catch (err) {
console.error(err);
}
}
readFileAsync();
四、使用 npm 管理项目依赖
- npm 是 Node.js 的包管理器,可轻松安装、管理和共享第三方模块。
- 在项目目录中使用
npm init
命令初始化项目,生成package.json
文件记录项目信息和依赖。 - 使用
npm install
命令安装模块,如npm install express