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)

相关推荐
咩咩啃树皮7 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
阳光是sunny7 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端
触底反弹7 小时前
一文搞懂 Tailwind CSS 弹性布局:从原理到实战
前端·css·html
阳光是sunny7 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
小林ixn8 小时前
从 ??= 到 onKeyDown:一个 React 组件的“自我修养”
前端·javascript·react.js
REDcker9 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
এ慕ོ冬℘゜9 小时前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery
武子康9 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端
一点一木10 小时前
从60首歌到1个网站:输入你的故事,还你一首歌
前端·github
IT_陈寒11 小时前
Vue这个特性差点让我加班到凌晨,谁懂啊
前端·人工智能·后端