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)

相关推荐
dleei1 小时前
彻底淘汰老旧 SVG 插件:unplugin-icons 与 Tailwind CSS v4 自定义图标最佳实践
前端·程序员·前端框架
LlNingyu2 小时前
文艺复兴,什么是XSS,常见形式(二)
前端·安全·xss
明君879972 小时前
说说我为什么放弃使用 GetX,转而使用 flutter_bloc + GetIt
前端·flutter
Jingyou2 小时前
用 Astro 搭建个人博客:从零到上线的完整实践
前端
吴声子夜歌2 小时前
JavaScript——call()、apply()和bind()
开发语言·前端·javascript
高桥凉介发量惊人2 小时前
质量与交付篇(2/6):CI/CD 实战——自动构建、签名、分发
前端
leafyyuki2 小时前
SSE 同域长连接排队问题解析与前端最佳实践
前端·javascript·人工智能
高桥凉介发量惊人2 小时前
质量与交付篇(3/6):崩溃分析与线上问题回溯机制
前端
angerdream2 小时前
最新版vue3+TypeScript开发入门到实战教程之路由详解三
前端·javascript·vue.js
毕设源码-郭学长2 小时前
【开题答辩全过程】以 基于Web的网上问诊系统的设计与实现为例,包含答辩的问题和答案
前端