npm的应用

npm基本使用

基本定义:npm 是随 Node.js 一起安装的 JavaScript 包管理工具,主要用于下载、管理和发布第三方模块。

如何安装:安装 Node.js 时,npm 会自动被安装。安装后,在终端运行 npm -v 可以验证安装并查看版本。

npm基本命令

项目初始化 :npm init

初始化项目,生成 package.json 文件

安装包 :npm install <包名> 或 npm i <包名>

安装包到当前项目的 node_modules 目录

-g:全局安装

--save 或 -S:安装并写入 package.json 的 dependencies(生产依赖)

--save-dev 或 -D:安装并写入 devDependencies(开发依赖)

@版本号:安装指定版本

卸载包 :npm uninstall <包名>

可使用 -S, -D, -g 等选项同步更新 package.json

更新包 :npm update <包名>

npm update + 包名 更新指定包

npm update 更新所有包

运行脚本 :npm run <脚本名>

运行 package.json 中 scripts 字段定义的脚本

start、test 等是内置命令,可直接运行

查看信息 :npm list 或 npm ls

列出已安装的包

-g 查看全局包

配置镜像 :npm config set registry <镜像地址>

设置下载源(如淘宝镜像:https://registry.npmmirror.com

get registry 可查看当前源

包配置

配置文件

npm将每个使用npm的工程本身都看作是一个包,包的信息需要通过一个名称固定的配置文件来固定,名称为 package.json。可以手动创建,更多时候是通过npm init来生成,使用npm init -y 或 npm init --yes可在生成配置时自动填充默认配置信息

配置文件信息:

name:包名称,必须是英文字符,支持连接符

version :包版本

版本规范:主版本号,次版本号,补丁版本号

^1.2.3:允许更新次版本和修订号(如 1.2.4, 1.3.0)。

~1.2.3:只允许更新补丁版本号(如 1.2.4)。

无符号 1.2.3:锁定当前精确版本

description:包描述

homepage:官网地址

author:包作者,必须是有效的npm账户名,不正确的账号和邮箱可能导致发布包时失败

respository:包仓库地址,通常指git或svn地址,他是一个对象(type:仓库类型,git或svn;url:地址)

main:包的入口,使用包的人默认从该入口文件导入包的内容

keywords:搜索关键字,发包后通过该数组中的关键字搜索到包

dependencies:生产环境依赖

devDependencies:开发依赖

包查找

默认从node_modules里面找包,找到后如果包内有package.json,则先看main配置入口,如无main配置,则默认找index.js文件

进阶概念

理解 package-lock.json:这个文件会锁定所有依赖包的确切版本,确保团队成员或生产环境安装的依赖完全一致。建议将其提交到版本控制系统

探索 npx:npx 是 npm 自带的工具,用于临时执行某个包的命令,而无需全局安装(例如:npx create-react-app my-app)

相关推荐
码客前端1 分钟前
理解 Flex 布局中的 flex:1 与 min-width: 0 问题
前端·css·css3
Komorebi゛2 分钟前
【CSS】圆锥渐变流光效果边框样式实现
前端·css
工藤学编程14 分钟前
零基础学AI大模型之CoT思维链和ReAct推理行动
前端·人工智能·react.js
徐同保14 分钟前
上传文件,在前端用 pdf.js 提取 上传的pdf文件中的图片
前端·javascript·pdf
怕浪猫15 分钟前
React从入门到出门第四章 组件通讯与全局状态管理
前端·javascript·react.js
欧阳天风23 分钟前
用setTimeout代替setInterval
开发语言·前端·javascript
EndingCoder27 分钟前
箭头函数和 this 绑定
linux·前端·javascript·typescript
郑州光合科技余经理27 分钟前
架构解析:同城本地生活服务o2o平台海外版
大数据·开发语言·前端·人工智能·架构·php·生活
沐墨染29 分钟前
大型数据分析组件前端实践:多维度检索与实时交互设计
前端·elementui·数据挖掘·数据分析·vue·交互
xkxnq33 分钟前
第一阶段:Vue 基础入门(第 11 天)
前端·javascript·vue.js