素材巴巴 > 程序开发 >

npm基本命令

程序开发 2023-09-14 11:35:33

npm是什么

Npm(Node Package Manager) 是node的包管理工具,是用JavaScript写出来的工具 ,被内置进了node中

npm的组成

组成简介网站网站 是开发者查找包(package)、设置参数以及管理 npm 使用体验的主要途径注册表(registry)注册表 是一个巨大的数据库,保存了每个包(package)的信息命令行工具 (CLI)CLI 通过命令行或终端运行。开发者通过 CLI 与 npm 打交道npm服务器用于存储所有的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是一个描述文件,描述了你项目中各个包之间的关系,作用如下

  1. 作为一个描述文件,描述了你的项目依赖哪些包
  2. 允许我们使用 “语义化版本规则”指明你项目依赖包的版本
  3. 让你的构建更好地与其他开发者分享,便于重复使用

创建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]
 

标签:

上一篇: spring boot shiro redis 整合(完整) 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。