【Node.js 常用命令(第一篇)】揭秘Node.js:掌握这些常用命令,让你在开发路上风生水起!

目录

前言

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生态系统里总能发现新的工具和命令,帮助你更好的开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/769303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试算法-104-乘积最大子数组

题目 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续 子数组 (该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 示例 1: 输入: nums [2,3,-2,4] 输出: 6 解释: 子数…

python ch8 函数

# 如何编写函数,以及如何传递实参,让函数能够访问完成其工作所需 # 的信息;如何使用位置实参和关键字实参,以及如何接受任意数量的实参;显示输出的函数和返 # 回值的函数;如何将函数同列表、字典、if语句…

Android_NDK调试

第一步: 链接log动态库 在Android.mk文件中添加 LOCAL_LDLIBS -llog 注意:一定要在 include $(BUILD_SHARED_LIBRARY) 之上添加,因为当执行到这句话的时候就表示所有的lib动态库已经加载完毕了,所以当你在这句代码之后再添加…

C++ 中常用的 STL

标准模板库 (STL) 是 C 标准库中一个强大的组件,它提供了各种通用数据结构和算法。STL 旨在提高代码的可重用性、效率和可读性。本文将介绍 C 中一些常用的 STL,并提供代码示例。 容器 容器是用于存储和组织数据的对象。STL 中提供了以下几种容器&…

Redis I/O多路复用

I/O多路复用 Redis的I/o多路复用中,将多个连接放到I/O复用程序中,这个复用程序具体是什么,是Redis的主线程吗 在Redis的I/O多路复用机制中,“复用程序”实际上指的是操作系统提供的系统调用接口,如Linux下的epoll、sel…

ZYNQ学习之Ubuntu环境下的Shell与APT下载工具

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ 一、Ubuntu Shell操作 简单的说Shell 就是敲命令。国内把 Linux 下通过命令行输入命令叫…

如何本地搭建群晖虚拟机并实现无quickconnect服务环境远程访问

文章目录 前言本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是前排提醒&#xff1a; 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机&#xff1a;1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

蓝桥04数组矩阵

04数组矩阵 顺时针打印二维数组 0所在行列清零 z字形打印二维数组 找出边界为1的最大子方针 返回子数组最大累加和 子矩阵最大累加和 矩阵运算 顺时针打印二维数组 int[][] arr {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16},{17,18,19,20}};int r 0;int c 0;int…

中国象棋C++

题目描述 在中国象棋中正所谓新手玩车&#xff0c;熟手玩炮&#xff0c;老手玩马&#xff0c;由此可见象棋中炮的地位还是比较高的。 给定一个nm的棋盘&#xff0c;全部摆满炮&#xff0c;我们视所有炮都不属于同一阵营&#xff0c;他们之间可以相互攻击但不能不进行攻击直接移…

解密Google Cloud 全新 PaLM2及创新应用

&#x1f4f8;背景 因长期在大模型相关的部门工作&#xff0c;每天接收到很多和AI相关的信息&#xff0c;但小编意识到目前理解到的一些AI知识还有些片面。 恰逢稀土掘金开发者大会有谈到大模型相关的知识&#xff0c;于是借此机会&#xff0c;对大模型相关的一些知识再了解一…

面试问答:什么是索引?它有哪些优缺点?它的适用/不适用场景?哪些情况会造成索引失效?

文章目录 &#x1f412;个人主页&#xff1a;信计2102罗铠威&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380;什么是索引&#xff1f;&#xff08;按角度答&#xff01;&#xff1a;作用&#xff0c;存放位置&#xff09;&#x1f415;索引的优缺点&…

递归——N皇后

用递归替代多重循环 什么是N皇后&#xff1a; 在nn格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n皇后问题等价于在nn的棋盘上放置n个皇后&#xff0c;任何2个皇后不妨在同一行或同一列或同一…

【SpringCloud】探索Eureka注册中心

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》《项目实战》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 …

Protobuf基础使用

Protobuf是什么 在我们日常编写代码的过程中&#xff0c;经常会涉及到网络传输的部分。我们通常会在网络之间传递各种各样的请求&#xff0c;但是在我们日常架构之中&#xff0c;经常会涉及后端服务器之间的通信&#xff0c;通信过程中&#xff0c;可能传递的对象就是一个类。…

ECA-Net:用于深度卷积神经网络的高效通道注意力

摘要 arxiv.org/pdf/1910.03151.pdf 最近,通道注意机制已被证明在改善深度卷积神经网络(CNN)的性能方面具有巨大潜力。然而,大多数现有方法致力于开发更复杂的注意模块以实现更好的性能,这不可避免地会增加模型的复杂性。 为了克服性能和复杂性折衷之间的矛盾,本文提出…

【vscode打开多文件夹】

1)将文件夹添加到工作空间中 2)文件夹方式展开 3)最终效果 小技巧&#xff1a; 文件夹的位置不对的话&#xff0c;可以拖动进行调整。

Linux--动静态库的原理和使用详解

本文介绍了Linux系统中动态库与静态库的概念、原理以及使用方法。通过深入讲解动态库与静态库的区别和优劣势&#xff0c;帮助读者更好地理解并选择合适的库类型来进行软件开发。 动态库和静态库的概念 动态库&#xff08;Dynamic Link Library&#xff0c;简称DLL&#xff09…

mysql5.7.19 winx64解压缩版安装配置教程

mysql5.7.19 winx64解压缩版安装配置教程 这篇文章主要为大家详细介绍了mysql5.7.19 winx64解压缩版安装配置教程&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下 记录了mysql 5.7.19 winx64解压缩版安装教程&#xff0c;具体内容如下 系统环境&am…

优化金融展厅设计,细节提升客户体验与实用效能

“很赚钱”大部分公众对金融行业的第一印象&#xff0c;这足以见得金融行业在社会经济发展中的重要性&#xff0c;而为了更好的宣传和科普金融相关信息&#xff0c;金融展厅的设计和建设成为了重要措施&#xff0c;它能够充分展示金融机构的实力、品牌形象和服务优势&#xff0…

Jmeter使用BeanShell保存数据到文件

1、目的 在使用jmeter压测时&#xff0c;业务上下连贯&#xff0c;需要对一些编号进行关联操作。这里使用‘JSON提取器’将值提取出来&#xff0c;后面请求可以直接使用。其它业务想要使用就只能把值保存到文件&#xff0c;再使用文件做参数化了。 2、JSON提取器 提取请求值 提…