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)

相关推荐
子兮曰5 小时前
Bun v1.3.14 深度解析:Image API、HTTP/3、全局虚拟存储与五十项变革
前端·后端·bun
kyriewen6 小时前
今天,百年巨头一次砍了9200人,而一个离职科学家的实话让全网睡不着觉
前端·openai·ai编程
问心无愧05136 小时前
ctf show web 入门42
android·前端·android studio
kyriewen6 小时前
老板逼我上AI,我偷偷在浏览器里跑LLaMA,省下20万API费
前端·react.js·llm
Beginner x_u6 小时前
前端八股整理(手写 02)|数组转树、数组扁平化、随机打乱一个数组
前端·数组·数组转树·数组扁平化
KaMeidebaby7 小时前
卡梅德生物技术快报|禽类成纤维细胞 FISH 实验:鸟类性别染色体基因定位技术实现与数据验证
前端·数据库·其他·百度·新浪微博
天若有情6737 小时前
前端高阶性能优化:跳出传统懒加载与预加载,基于用户行为做轻量预判加载
前端·性能优化
小小小小宇7 小时前
前端转后端:SQL 是什么
前端
张元清8 小时前
React Observer Hooks:7 种监听 DOM 而不写样板代码的方式
前端·javascript·面试
广州华水科技8 小时前
单北斗GNSS变形监测是什么?主要有怎样的应用与优势?
前端