当前位置: 首页 > backend >正文

Node和npm初学

了解Node和npm

 

目录

​1. 什么是 npm?​

2. npm有哪些使用场景?​

3. npm有什么核心特性?​

4.npm的常用命令有那些? 

 5. 关键配置文件是什么?​

​6. 安全与最佳实践​

7.什么是 Node.js?​

8.Node.js有什么优势?

9.如何安装和下载?

10.如何验证安装成功?

11.应用场景分析 

 12.哪里能找到所谓“活跃的社区”?

 13.举一个例子


 

 

1. 什么是 npm?​

​npm(Node Package Manager)是 ​Node.js 的默认包管理器,用于管理 JavaScript 项目的依赖关系和工具。它是全球最大的软件注册中心,托管了数百万个开源代码包,使开发者能够轻松共享和重用代码。

2. npm有哪些使用场景?

  • 安装第三方库​:例如 Express、React、Lodash 等。
  • 管理项目依赖​:自动跟踪并安装项目所需的包及其版本。
  • 运行自定义脚本​:如启动服务器、执行测试或构建代码。
  • 发布自己的包​:将代码发布到 npm 仓库供他人使用。
  • 统一开发环境​:通过配置文件确保团队成员使用相同的依赖版本。

在管理项目依赖方面,npm就类似前端的maven,或者是Node环境下的maven,使用的依赖配置文件名称和作用范围都不同,但是在管理依赖方面,都有类似的目的,例如保证依赖版本统一,自动化等。

3. npm有什么核心特性?

  • 集中化仓库​:访问海量开源包,支持公共和私有托管。
  • 语义化版本控制​:使用 ^(允许次版本更新)、~(允许修订版本更新)等符号管理依赖版本。
  • 依赖分层管理​:
    • 本地依赖​(默认):安装到项目的 node_modules 目录,仅限当前项目使用。
    • 全局依赖​(-g):安装到系统目录,供所有项目使用(如 CLI 工具)。
  • 脚本自动化​:通过 package.json 定义 starttest 等快捷命令。
  • 安全审计​:npm audit 检查依赖漏洞,npm audit fix 自动修复。
  • 工作区支持​:管理多包项目(monorepo),优化依赖共享和本地链接。
  • 锁文件机制​:package-lock.json 确保依赖树的一致性,避免版本冲突。

4.npm的常用命令有那些? 

命令作用
npm init初始化项目,生成 package.json 文件(-y 快速跳过提问)
npm install <包名>安装包到本地依赖(可简写为 npm i
npm install -g <包名>全局安装包(如 npm i -g nodemon
npm install --save-dev <包名>安装为开发依赖(如测试工具,-D 简写)
npm uninstall <包名>
http://www.xdnf.cn/news/5599.html

相关文章:

  • HTTPS全解析:从证书签发到TLS握手优化
  • 算法-单调栈
  • 【Linux笔记】——进程信号的产生
  • arduinoIDE核心库更新导致的ESP32开发板神秘接口更换和三方库冲突
  • 解锁性能密码:Linux 环境下 Oracle 大页配置全攻略​
  • uniapp引入七鱼客服微信小程序SDK
  • 【氮化镓】横向GaN 器件注入隔离区的电场相关载流子传输特性
  • 让 - 艾里克・德布尔与斯普林格出版公司:科技变革下的出版业探索
  • qt QMessageBox 的详细解析
  • 点下4个Winform UI开源控件库
  • OpenMCU(六):STM32F103开发板功能介绍
  • 【触想智能】医疗一体机在医疗领域上的应用优势分析
  • LLaMA Factory 深度调参
  • cursor对话关键词技巧
  • 《微机原理与接口技术》第 5 章 汇编语言程序设计
  • laravel 中使用的pdf 扩展包 laravel-snappy(已解决中文乱码)
  • 【HarmonyOS 5】鸿蒙碰一碰分享功能开发指南
  • dfs 第一次加训 详解 下
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: 如何获取当前用户主目录(即:~波浪符号目录)?
  • 3DGS-to-PC:3DGS模型一键丝滑转 点云 or Mesh 【Ubuntu 20.04】【2025最新版!!】
  • [ARM][汇编] 01.基础概念
  • 单片机-STM32部分:13-1、编码器
  • Kubernetes vs. OpenShift:深入比较与架构解析
  • 在Taro中开发一个跨端Svg组件,同时支持小程序、H5、React Native
  • PyTorch Lightning实战 - 训练 MNIST 数据集
  • 华为ensp实现跨vlan通信
  • uniapp|商品列表加入购物车实现抛物线动画效果、上下左右抛入、多端兼容(H5、APP、微信小程序)
  • LeetCode 513 找树左下角的值 LeetCode 112 路径总和 LeetCode106 从中序与后序遍历序列构造二叉树
  • 【SSM-SpringMVC(二)】Spring接入Web环境!本篇开始研究SpringMVC的使用!SpringMVC数据响应和获取请求数据
  • 【node】6 包与npm