Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者在服务器端运行 JavaScript 代码。Node.js 提供了一系列的命令行工具和内置模块,使得开发者能够快速构建各种服务器端应用程序。以下是一些常用的 Node.js 命令和它们的用途:
1. **node**:
- 这是启动 Node.js 应用程序的基本命令。例如,要运行名为 `app.js` 的文件,你可以使用 `node app.js`。
2. **npm**:
- Node Package Manager(npm)是 Node.js 的包管理器,用于安装和管理 Node.js 模块。
- `npm init`:初始化一个新的 Node.js 项目,创建 `package.json` 文件。
- `npm install <package>`:安装一个 npm 包到当前项目。
- `npm install -g <package>`:全局安装一个 npm 包。
- `npm uninstall <package>`:卸载项目中的一个 npm 包。
- `npm update`:更新项目中所有已安装的 npm 包。
- `npm list`:列出项目中安装的 npm 包及其依赖。
- `npm run <script>`:运行 `package.json` 文件中定义的脚本。
3. **npx**:
- 是 npm 的一个工具,用于执行 Node 包的二进制文件。
- `npx <package>`:执行 npm 包的二进制文件,无需全局安装该包。
4. **nodemon**:
- 是一个开发工具,用于监视服务器端文件的变化并自动重启服务器。
- `npx nodemon <file>` 或 `npm install -g nodemon` 后使用 `nodemon <file>`。
5. **express**:
- 是一个流行的 Node.js Web 应用框架,用于快速构建 RESTful API 和 Web 应用。
- `npm install express`:安装 Express 框架。
- 创建一个基本的 Express 服务器通常看起来像这样:
```javascript
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
```
6. **mkdir & rmdir**:
- `mkdir <dir>`:在命令行中创建一个新目录。
- `rmdir <dir>`:删除一个空目录。
7. **fs**:
- Node.js 的 `fs` 模块提供了文件系统操作的 API。
- 例如,`const fs = require('fs');` 用于引入文件系统模块。
8. **process**:
- `process.argv`:获取命令行参数的数组。
- `process.env`:包含用户环境的变量。
9. **console**:
- `console.log`、`console.error`、`console.warn` 等用于在控制台输出信息。
10. **http**:
- Node.js 的 `http` 模块用于创建 HTTP 服务器和客户端。
- 例如,创建一个简单的 HTTP 服务器:
```javascript
const http = require('http');
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/html');
res.end('<h1>Hello World</h1>');
});
server.listen(3000);
```
这些命令和模块是 Node.js 开发中的基础,通过它们,你可以开始构建自己的服务器端应用程序。此外,还有许多其他高级功能和第三方模块,可以根据项目需求进行探索和使用。