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

NPM-Node Package Manager

概念理解

随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。它是全球最大的软件注册中心之一,提供超过 100 万个可复用的代码包。

核心功能

  • 安装依赖:通过npm install命令安装项目所需的第三方库。
  • 版本管理:支持语义化版本控制(SemVer),确保依赖兼容性。
  • 脚本执行:通过package.json中的scripts字段定义和运行自动化任务。
  • 发布包:开发者可将自己的模块发布到 NPM 仓库供他人使用。

Use npm to install, share, and distribute code; manage dependencies in your projects; and share & receive feedback with others.

官方文档见:npm Docs

npm consists of three distinct components:

  • the website

  • the Command Line Interface (CLI)

  • the registry

npm 允许在package.json文件里面,使用scripts字段定义脚本命令。

{
"name": "project-name",
"version": "1.0.0",
"scripts": {
"build": "node build.js",

"start": "node app.js"
},
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"eslint": "^8.0.0"
}
}

上面代码是package.json文件的一个片段,里面的scripts字段是一个对象。它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js

命令行下使用npm run命令,就可以执行这段脚本。

$ npm run build
# 等同于执行 $ node build.js

这些定义在package.json里面的脚本,就称为 npm 脚本。它的优点很多。

常用命令

npm init 初始化项目并生成 package.json 文件,记录项目元数据和依赖信息。 npm install <package> 安装指定包到当前项目的 node_modules 目录,添加 --save 或 --save-dev 分别保存到生产或开发依赖。 npm uninstall <package> 移除已安装的包并更新 package.json。 npm update 更新所有依赖到最新兼容版本(根据 package.json 中的版本范围)。 npm run <script> 执行 package.json 中定义的脚本,例如 npm run start。
http://www.gsyq.cn/news/1453531.html

相关文章:

  • 3分钟掌握抖音内容下载:从单视频到批量收藏的完整指南
  • 2026数字化沉浸式空间设计公司推荐 - 品牌排行榜
  • 基于555定时器的拍手计数器DIY:从声音感知到机电控制
  • 如何快速上手UVDoc_onnx?3分钟掌握模型推理核心配置
  • 网盘直链解析工具:浏览器脚本一键获取真实下载地址的终极解决方案
  • 成都市中心春熙路附近好吃的火锅实测榜单|严选5家口碑4.8+门店 - TOP10品牌推荐榜单
  • 偷偷在代码埋“AI删库”隐藏指令,开源开发者为“反AI”设陷阱,网友热议:做法幼稚,这就是投毒
  • 别再交智商税!移液器校准哪家靠谱?认准这3个核心指标不踩坑 - 品牌推荐大师
  • 告别Visual Studio的臃肿:用VSCode + .NET 8零配置跑通你的第一个C#程序
  • 解密Desktop Postflop:如何用Rust+WebAssembly实现德州扑克GTO求解的3个关键突破
  • Agent应用的法律风险核查清单:知识产权、数据来源与决策责任界定
  • 热转印法自制PCB:低成本快速原型制作全流程详解
  • 5分钟上手微信公众号爬虫:零基础获取文章数据全攻略
  • AntiMicroX终极探索:游戏控制器映射技术的跨平台实践路径
  • 基于ESP32与步进电机的低成本开源呼吸机原型设计与实现
  • 如何微调C4AI Command R+:自定义任务训练完整指南 [特殊字符]
  • 英雄联盟智能工具箱:5大核心功能彻底改变你的游戏体验
  • 佛山靠谱的家具工厂推荐,高端家具采购少踩选购陷阱 - 资讯纵览
  • Jenkins部署RocketMQ 协议客户端
  • Mermaid Live Editor架构解析:提升40%技术图表创作效率的现代化解决方案
  • 从在线评论均值估计到Q-Learning:手把手推导RM算法在强化学习中的核心应用
  • 终极解决方案:3步轻松突破Cursor免费试用限制
  • 2026年6月兰州专业可靠的合同纠纷律师优选:李青源律师定制办案,政企医疗纠纷专项法律服务 - 十大排行榜推荐
  • 一个gorm PageSql封装的进化
  • 2026年 HC340/590DPD+Z 高强双相镀锌板厂家推荐榜:深冲性能与耐蚀工艺双优品牌精选 - 品牌企业推荐师(官方)
  • 闲置首饰别乱卖!天津最新回收榜单,内行私藏不亏价 - 合扬奢侈品交易中心
  • STM32F103ZET6上跑的编码电机调速方案:模糊逻辑在线调参+增量式PID闭环
  • Windows系统盘救星:用mklink命令把Oracle数据库从C盘挪走(附详细步骤)
  • AI大模型、Agent、MCP彻底搞懂!从大脑到智能体,底层逻辑全解析,小白也能秒懂!
  • AI 赋能金融场景钓鱼攻击演化、技术解构与全链路风控研究