主要用于存储项目的名称,版本号,描述,用到的依赖等相关信息
npm init -y
//从零开始初始化一个配置文件
{
"name": "package_demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
{
// 项目的名称,必填
"name": "package_demo",
//项目版本号,必填
"version": "1.0.0",
//描述信息,对项目的基本描述
"description": "",
//记录当前项目是否是私有的,防止将项目发布到npm仓库中
"private":true,
//设置程序入口
//通过require("axios"),实际上是通过axios文件夹中的package.json文件中的main属性查找文件
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
//作者(发布的时候用到)
"author": "",
//开源协议(发布的时候用到)
"license": "ISC"
}
scripts属性
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
dependencies
属性
npm install
,查找该属性下面的内容,安装相应的依赖 "dependencies": {
"axios": "^1.6.7",
"dayjs": "^1.11.10"
}
devDependencies
属性
npm install babel --save-dev
或者npm install babel -D
进行安装 "devDependencies": {
"babel": "^6.23.0"
}
peerDependencies
属性
peerDependencies
所依赖的包比如element-plus
需要依赖与vue3,若没有安装vue3的依赖,则会进行提示主要是为了锁定依赖的版本号
{
//项目的名称
"name": "package_demo",
//项目的版本
"version": "1.0.0",
//lock文件的版本
"lockfileVersion": 1,
//使用requires来跟踪模块的依赖关系
"requires": true,
//项目的依赖
"dependencies": {
//项目依赖的名称
"axios": {
//实际安装的axios版本
"version": "1.6.7",
//用来记录下载地址,registry仓库中的位置
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
//用来从缓存中获取索引
"integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
//记录当前模块所需的依赖,即axios所需要的依赖
"requires": {
"follow-redirects": "^1.15.4",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
},
}
}
semver版本规范 x.y.z 1.0.0
分为局部安装和全局安装
安装 npm包分为两种情况
通常使用全局安装的都是一些工具包,比如 yarn、webpack,并不是 axios、express、koa等库文件
而在局部安装的时候,又分为开发依赖和生产依赖
//安装的开发和生产依赖
npm install axios
npm i axios
//安装开发依赖
npm install webpack --save-dev
npm install webpack -D
npm i webpack -D
//根据package.json中安装依赖
npm install
可以去查找npm的官网
npm uninstall xxx
npm run rebuild
npm cache clean
与npm的作用是相同的
npm install yarn -g
全局安装yarnnpm install cnpm -g
全局安装 cnpmcnpm config set registry https://registry.npm.taobao.org
更改cnpm的镜像npm config get registry
查看仓库地址npx工具主要是使用一些局部命令
webpack
,当我们想查看webpack版本的时候,输入 webpack --version
,会出现以下错误webpack
工具的项目目录中,输入 npx webpack --version
即可实现若不使用npx工具,也可以使用以下两种办法
一是进入到 **node_modules/bin文件夹下面,运行 webpack --version
**命令
二是修改 package.json中script中的内容
"scripts": {
"start": "node test.js",
"build": "webpack xxx.js",
//在package文件中,使用命令,首先会在node_modules目录下查找,而不是去全局查找
"webpack":"webpack --version"
},
npm login
命令,用于登录自己的npm账号npm publish
即可完成发布npm publish
即可npm unpublish
(一般不会主动删除)npm deprecate
可以理解成performant npm
想要弄清楚pnpm的原理,需要理解硬链接和软连接的概念
npm命令 | pnpm等价命令 |
---|---|
npm install | pnpm install |
npm install xxx | pnpm add xxx |
npm uninstall xxx | pnpm remove xxx |
npm run xxx | pnpm xxx |
pnpm store prune
裁剪不使用的包更多【node.js-前端工程化基础(二):前端包管理工具npm/yarn/cnpm/npx/pnpm】相关视频教程:www.yxfzedu.com