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)

相关推荐
码事漫谈2 小时前
大模型输出的“隐性结构塌缩”问题及对策
前端·后端
这儿有一堆花2 小时前
前端三件套真的落后了吗?揭开现代 Web 开发的底层逻辑
前端·javascript·css·html5
.Cnn3 小时前
JavaScript 前端基础笔记(网页交互核心)
前端·javascript·笔记·交互
醉酒的李白、3 小时前
Vue3 组件通信本质:Props 下发,Emits 回传
前端·javascript·vue.js
anOnion3 小时前
构建无障碍组件之Window Splitter Pattern
前端·html·交互设计
NotFound4863 小时前
实战分享Python爬虫,如何实现高效解析 Web of Science 文献数据并导出 CSV
前端·爬虫·python
徐小夕4 小时前
PDF无限制预览!Jit-Viewer V1.5.0开源文档预览神器正式发布
前端·vue.js·github
WangJunXiang64 小时前
Haproxy搭建Web群集
前端
吴声子夜歌4 小时前
Vue.js——自定义指令
前端·vue.js·flutter
小芝麻咿呀4 小时前
vue--面试题第一部分
前端·javascript·vue.js