目录
前言
30条常用的Node.js 命令
1. node - 启动 Node.js REPL 或执行脚本
2. npm - Node.js 包管理器
3. npx - 执行 Node 包程序
4. nodemon - 自动重启 Node.js 应用
5. express - 快速搭建 Web 应用框架
6. git - 版本控制系统
7. mocha - 测试框架
8. eslint - 代码质量和风格检查工具
9. webpack - 模块打包工具
10. pm2 - 进程管理器
11. cross-env - 跨平台设置环境变量
12. node-gyp - 本地编译原生插件
13. yarn - 另一种包管理器
14. forever - 让 Node.js 应用永远运行
15. http-server - 简单的 HTTP 服务器
16. concurrently - 同时运行多个命令
17. dotenv - 加载环境变量
18. jest - 测试框架
19. ts-node - TypeScript 运行时
20. puppeteer - 无头浏览器自动化
21. node-inspector - 调试工具
22. socket.io - 实时通信库
23. mongoose - MongoDB 对象模型工具
24. helmet - 安全性中间件
25. compression - 响应压缩中间件
26. cors - 跨源资源共享中间件
27. async - 异步操作库
28. lodash - 实用工具库
29. moment - 时间处理库
30. axios - HTTP 客户端
总结
前言
Node.js 是基于 Chrome V8 引擎的 JavaScript 运行环境,可以让 JavaScript 在服务器端运行,不需要在浏览器中。Node.js 的生态系统很强,有很多模块和工具,让开发者能够快速开发高效的网络应用。了解和掌握Node.js 的常用命令对开发者来说很重要。本文会给你介绍一些最常用的 Node.js 命令,帮你更高效的开发。
30条常用的Node.js 命令
1. node
- 启动 Node.js REPL 或执行脚本
这是最基础的命令,用于启动 Node.js 的 REPL(Read-Eval-Print Loop)环境或者执行 JavaScript 文件。
# 启动 REPL 环境
node# 执行 JavaScript 文件
node your_script.js
2. npm
- Node.js 包管理器
npm 是 Node.js 的包管理器,用于安装、更新、配置和移除 Node.js 包。
# 安装包
npm install package_name# 更新包
npm update package_name# 安装全局包
npm install -g package_name# 移除包
npm uninstall package_name
3. npx
- 执行 Node 包程序
npx 是 npm 5.2.0 版本引入的新工具,用于执行 Node 包中的二进制文件。
# 执行包中的二进制文件
npx package_name
4. nodemon
- 自动重启 Node.js 应用
nodemon 是一个工具,用于在文件更改时自动重启 Node.js 应用,非常适合在开发过程中使用。
# 安装 nodemon(全局)
npm install -g nodemon# 使用 nodemon 运行应用
nodemon your_script.js
5. express
- 快速搭建 Web 应用框架
Express 是一个灵活的 Node.js Web 应用框架,提供了一系列强大的功能,用于构建单页、多页以及混合 Web 应用。
# 创建一个新的 Express 应用
npx express-generator myapp# 进入应用目录并安装依赖
cd myapp
npm install
6. git
- 版本控制系统
虽然 Git 不是 Node.js 特有的命令,但它与 Node.js 项目的开发流程紧密相关,用于代码的版本控制。
# 初始化 Git 仓库
git init# 添加文件到暂存区
git add .# 提交更改
git commit -m "Initial commit"# 查看提交历史
git log
7. mocha
- 测试框架
Mocha 是一个功能丰富的 JavaScript 测试框架,适用于 Node.js 和浏览器,让你可以编写和运行异步测试。
# 安装 Mocha
npm install --save-dev mocha# 运行 Mocha 测试
npx mocha
8. eslint
- 代码质量和风格检查工具
ESLint 是一个静态代码分析工具,帮助你发现和修复代码中的错误,保持代码质量和一致性。
# 安装 ESLint
npm install --save-dev eslint# 运行 ESLint 检查
npx eslint your_script.js
9. webpack
- 模块打包工具
Webpack 是一个模块打包器,可以将项目的多个模块和资源打包成少数几个文件,通常用于前端资源的优化和打包。
# 安装 Webpack(全局)
npm install -g webpack# 运行 Webpack
npx webpack
10. pm2
- 进程管理器
PM2 是一个 Node.js 的进程管理器,用于保持应用的持续运行,并提供了日志管理、监控和负载均衡等功能。
# 安装 PM2(全局)
npm install -g pm2# 启动应用并保持持续运行
pm2 start your_script.js
11. cross-env
- 跨平台设置环境变量
在不同的环境中设置环境变量可能会有所不同。cross-env
工具可以帮助你在不同的操作系统中以相同的方式设置环境变量。
# 安装 cross-env(全局)
npm install -g cross-env# 使用 cross-env 设置环境变量并启动应用
cross-env NODE_ENV=production npm start
12. node-gyp
- 本地编译原生插件
node-gyp
是一个跨平台的命令行工具,用于编译 Node.js 的原生插件,它支持 Windows、Linux 和 macOS。
# 配置原生插件
node-gyp configure# 编译原生插件
node-gyp build
13. yarn
- 另一种包管理器
yarn
是一个快速、可靠的包管理器,与 npm 类似,但提供了更优的性能和更准确的依赖解析。
# 安装 yarn(全局)
npm install -g yarn# 使用 yarn 安装依赖
yarn install# 使用 yarn 运行脚本
yarn start
14. forever
- 让 Node.js 应用永远运行
forever
是一个简单的 Node.js 应用监控和重启工具,它可以确保你的应用在崩溃或退出时自动重启。
# 安装 forever(全局)
npm install -g forever# 让应用永远运行
forever start your_script.js# 查看正在运行的 forever 进程
forever list
15. http-server
- 简单的 HTTP 服务器
http-server
是一个零配置的命令行 HTTP 服务器,非常适合在开发过程中快速预览静态文件。
# 安装 http-server(全局)
npm install -g http-server# 启动 HTTP 服务器
http-server
16. concurrently
- 同时运行多个命令
concurrently
允许你在同一时间运行多个命令,这对于需要同时启动多个服务或任务的复杂项目非常有用。
# 安装 concurrently(全局)
npm install -g concurrently# 同时运行两个进程
concurrently "node server.js" "npm run watch"
17. dotenv
- 加载环境变量
dotenv
是一个零依赖的工具,用于从 .env
文件中加载环境变量到 process.env
,非常适合处理敏感信息和不同环境的配置。
# 安装 dotenv
npm install dotenv# 在项目中加载环境变量
require('dotenv').config();
18. jest
- 测试框架
Jest 是一个流行的 JavaScript 测试框架,它提供了丰富的功能,包括模拟、覆盖率报告和快照测试。
# 安装 Jest
npm install --save-dev jest# 运行 Jest 测试
npm test
19. ts-node
- TypeScript 运行时
ts-node
是一个执行 TypeScript 代码的 Node.js 工具,它允许你在不先编译 TypeScript 文件的情况下直接运行它们。
# 安装 ts-node(全局)
npm install -g ts-node# 直接运行 TypeScript 文件
ts-node your_script.ts
20. puppeteer
- 无头浏览器自动化
Puppeteer 是一个 Node.js 库,提供了一套高级 API 来控制无头 Chrome 或 Chromium,非常适合进行网页截图、PDF 生成、UI 测试等自动化任务。
# 安装 Puppeteer
npm install puppeteer# 使用 Puppeteer 进行自动化操作
const puppeteer = require('puppeteer');
(async () => {const browser = await puppeteer.launch();const page = await browser.newPage();await page.goto('https://example.com');await page.screenshot({ path: 'example.png' });await browser.close();
})();
21. node-inspector
- 调试工具
node-inspector
是一个调试工具,它结合了 node-debug
和 Blink Developer Tools
来提供强大的调试体验。它支持断点、实时数据查看和远程调试等功能。
# 安装 node-inspector(全局)
npm install -g node-inspector# 启动调试服务器
node-inspector# 在浏览器中打开调试界面,通常是 http://127.0.0.1:8080
22. socket.io
- 实时通信库
socket.io
是一个实现实时双向事件通信的库,它支持 WebSocket 以及其他实时通信技术,适用于构建实时应用如聊天室、游戏或协作工具。
# 安装 socket.io
npm install socket.io# 创建一个简单的 socket.io 服务器
const server = require('http').createServer();
const io = require('socket.io')(server);io.on('connection', (socket) => {console.log('a user connected');socket.on('disconnect', () => {console.log('user disconnected');});
});server.listen(3000);
23. mongoose
- MongoDB 对象模型工具
mongoose
是一个 MongoDB 对象模型工具,它提供了丰富的 API 来处理数据库操作,简化了数据模型的定义和数据库的交互。
# 安装 mongoose
npm install mongoose# 连接 MongoDB 并定义模型
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/myapp', { useNewUrlParser: true });const userSchema = new mongoose.Schema({name: String,age: Number
});const User = mongoose.model('User', userSchema);
24. helmet
- 安全性中间件
helmet
是一个 Node.js 中间件,用于提高 HTTP 头部的安全性,它可以设置多种 HTTP 头部来防止各种常见的 Web 攻击。
# 安装 helmet
npm install helmet# 在 Express 应用中使用 helmet
const express = require('express');
const helmet = require('helmet');
const app = express();app.use(helmet());
25. compression
- 响应压缩中间件
compression
是一个 Node.js 中间件,用于压缩响应数据,减少传输数据的大小,提高加载速度。
# 安装 compression
npm install compression# 在 Express 应用中使用 compression
const express = require('express');
const compression = require('compression');
const app = express();app.use(compression());
26. cors
- 跨源资源共享中间件
cors
是一个 Node.js 中间件,用于实现跨源资源共享(CORS),它简化了跨域请求的处理。
# 安装 cors
npm install cors# 在 Express 应用中使用 cors
const express = require('express');
const cors = require('cors');
const app = express();app.use(cors());
27. async
- 异步操作库
async
是一个强大的 Node.js 异步操作库,提供了多种工具来处理异步流程控制,如并行执行、串行执行、水井模型等。
# 安装 async
npm install async# 使用 async 并行执行多个异步任务
const async = require('async');
async.parallel([function(callback) {setTimeout(callback, 1000, 'one');},function(callback) {setTimeout(callback, 3000, 'two');},function(callback) {setTimeout(callback, 5000, 'three');}
], function(err, results) {console.log(results);
});
28. lodash
- 实用工具库
lodash
是一个一致性、模块化、高性能的 JavaScript 实用工具库,它提供了丰富的函数来处理数组、数字、对象、字符串等。
# 安装 lodash
npm install lodash# 使用 lodash 进行数组操作
const _ = require('lodash');
const array = [1, 2, 3, 4, 5, 6];
const doubled = _.map(array, (n) => n * 2);
29. moment
- 时间处理库
moment
是一个流行的时间处理库,它提供了丰富的 API 来解析、验证、操作和显示日期和时间。
# 安装 moment
npm install moment# 使用 moment 处理时间
const moment = require('moment');
const now = moment();
console.log(now.format('MMMM Do YYYY, h:mm:ss a'));
30. axios
- HTTP 客户端
axios
是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js。它提供了一种简洁的方式来发送 HTTP 请求和处理响应。
# 安装 axios
npm install axios# 使用 axios 发送 GET 请求
const axios = require('axios');axios.get('https://api.example.com/data').then(function (response) {console.log(response.data);}).catch(function (error) {console.log(error);});
总结
这些工具和命令能帮助你在Node.js开发中搞定很多事情,包括调试、数据库操作、安全性、性能优化、异步编程和HTTP通信等。学会这些工具能让你的Node.js应用更稳健、高效和易维护。而且,随着项目需求的不断增加,Node.js生态系统里总能发现新的工具和命令,帮助你更好的开发。