npm基本命令
npm是什么
Npm(Node Package Manager) 是node的包管理工具,是用JavaScript写出来的工具 ,被内置进了node中
npm的组成
npm有什么用
Node.js 安装配置链接(Node.js中内置有npm)
https://jingyan.baidu.com/article/c85b7a64b6498c003aac956a.html
npm中文文档
https://www.npmjs.com/ 官网
https://www.npmjs.com.cn/ 中文文档
检测是否成功安装npm
npm -v
6.4.1 //安装成功会返回这个版本号
使用 npm 命令安装模块
npm install //指的是模块名
全局安装与本地安装
npm 的包安装分为本地安装(local),全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如
npm install # 本地安装
npm install -g # 全局安装
// install可以缩写为i
如果出现以下错误:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
解决办法为:
npm config set proxy null
本地安装
全局安装
查看模块的版本号
npm grunt
安装指定版本
npm install 默认安装最新版本,如果想要安装指定版本,可以在库名称后加 @版本号
npm install @latest
npm install @0.1.1
npm install @">=0.1.0 <0.2.0"
卸载模块
我们可以使用以下命令来卸载 Node.js 模块
npm uninstall
建议直接删除node-modules文件夹
更新模块
npm update
更新升级时应该把原本的node-modules文件夹删除,不然的话可能会报错
查看模块信息
npm list
查看模块地址
npm view repository.url
很多包的地址都是托管在github上
查看帮助信息
npm help
验证某个模块是否存在
发布一个npm包的时候,需要检验某个模块是否已存在
npm search
如果存在就会显示其完整信息
搜索模块
npm search
Package.json
package.json是一个描述文件,描述了你项目中各个包之间的关系,作用如下
- 作为一个描述文件,描述了你的项目依赖哪些包
- 允许我们使用 “语义化版本规则”指明你项目依赖包的版本
- 让你的构建更好地与其他开发者分享,便于重复使用
创建package.json
npm init //即可在当前目录创建一个 package.json 文件
cnpm init //使用淘宝镜像创建
输入 npm init 后会弹出一堆问题,我们可以输入对应内容,也可以使用默认值。在回答一堆问题后输入 yes就会生成 package.json 文件,如果嫌回答这一大堆问题麻烦,可以直接输入 npm init --yes 跳过回答问题步骤,直接生成默认值的 package.json 文件
npm init --yes //跳过回答问题步骤,直接生成默认值的 package.json 文件
这里要注意,你通过npm安装的话,就只有使用npm init 时才会有默认值,使用cnpm init时不会有默认值的
package.json 的内容
package.json 文件至少要有两部分内容:
{"name": "w1807-demo-package", //全部小写,没有空格,可以使用下划线或者横线"version": "1.0.0" //x.x.x 的格式,符合“语义化版本规则”
}
其他内容:
我们可以为 init 命令设置一些默认值,比如:
> npm set init.author.email "邮箱@qq.com"
> npm set init.author.name "姓名"
> npm set init.license "MIT" //这里是指开源协议
指定依赖的包
我们需要在 package.json 文件中指定项目依赖的包,这样别人在拿到这个项目时才可以使用 npm install 下载,包有两种依赖方式:
{"name": "my-weex-demo","version": "1.0.0","description": "a weex project","main": "index.js","author": "fkysly@gmail.com","license": "MIT","devDependencies": {"babel-core": "^6.14.0",},"dependencies": {"weex-html5": "^0.3.2",
}
}
书写脚本命令scripts
通过脚本可以快速的批量的执行相关的命令
语义化版本规则
使用NPM下载和发布代码时都会接触到版本号。NPM使用语义版本号来管理代码,这里简单介绍一下
语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新
版本号规范即语义化规则的使用
作为使用者,我们可以在 package.json 文件中写明我们可以接受这个包的更新程度(假设当前依赖的是 1.0.4 版本):
如果只打算接受补丁版本的更新(也就是最后一位的改变),就可以这么写:
1.0
1.0.x
~1.0.4
如果接受小版本的更新(第二位的改变),就可以这么写:
1
1.x
^1.0.4
如果可以接受大版本的更新(自然接受小版本和补丁版本的改变),就可以这么写:
*
x
小结一下:
总共三种版本变化类型,接受依赖包哪种类型的更新,就把版本号准确写到前一位。即当前位就不写,或者写成x. 如果写了当前位,那就要在前面给上相关标识。默认我们安装的模块应该是接受小版本的更新的: ^版本号
根据package.json安装依赖包
命令:
npm install
默认会安装 package.json 中 dependencies 和 devDependencies 里的所有模块
命令:
npm install --production
将包信息写入到package.json
要将包信息写入到package.json文件中的两种方式
方式一:手动写入
添加依赖时我们可以手动修改 package.json 文件:,添加或者修改 dependencies,devDependencies 中的内容
方式二:使用安装参数
另一种更酷的方式是用命令行,在使用 npm install 时增加 --save 或者 --save-dev 后缀:
npm install --save
//表示将这个包名及对应的版本添加到 package.json的 dependenciesnpm install --save-dev
//表示将这个包名及对应的版本添加到 package.json的 devDependencies
简写版
npm install -S
npm install -D
npm获取全局安装的默认目录
npm config get prefix
npm设置全局安装的默认目录
npm config set prefix “directory”
使用淘宝 NPM 镜像
大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像
你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步
你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
这样就可以使用 cnpm 命令来安装模块了:
cnpm install [name]
标签:
相关文章
-
无相关信息