npm中部分包的管理应用以及上传包的方法
有没有一个想法:在一个地方下载所有的库(模块…)呢?
那就可以通过npm去下载,npm网站上放置很多第三模块,它们是以包的格式存在的,这是一个第三方模块的"不花钱的超市",我们可以自由地下载,上传模块。
对npm下载安装包方法进行以及个人使用过得npm包介绍,持续更新中...
~~
npm介绍
npm
全称Node Package Manager
(node 包管理器),它的诞生是为了解决 Node 中第三方包共享的问题。npm
不需要单独安装。在安装Node的时候,会连带一起安装npm
。npm -v
控制台输入可以验证是否安装成功,检查安装的版本。- 官网
npm和包和模块的关系
npm网站上去下载我们的需要的代码时,它们是以"包"这种结构放在npm网站上的。先来了解下包和模块的关系。
- 包是多个模块的集合。一个模块的功能比较单一,所以一个包一般会包含多个模块。
- npm 管理的单位是包。类似于网站和网页的区别:一个网站一般会包含多个网页。
npm上传包
- npm view 包名
这个命令用来查看 某个包的信息
如果返回404,说明这个项目名在npm官网上找不到,此时你就可以使用。 否则,说明不可用。 - 初始化 :npm init --yes
- 完成开发代码,记得要更改package.json文件中"main":"index.js"与开发所用的js文件名一致
- 切换镜像源到官网镜像
nrm use npm(要安装nrm包,如果没有安装可以查看上文其它方法)
- 连接到npm
num adduser
这个命令需要输入三个信息以供连接npm js(就是你在npm官网注册的信息,如果不是第一次连接,这一步可以省略)
· 用户名
· 密码
· 邮箱 - 把包上传到npm
npm publish
- 如果出错了,可能原因是:
这个包名被别人先用了。
包的版本号不对:每次publish时,包的版本号都应该要大于之前的版本号。
文件过大。你可能需要创建.npmignore文件来设置在打包时要忽略哪些文件,如下是一个demo。 - 删除包
npm unpublish --force //强制删除
- 更新包
修改代码,保存。
更新版本号。可直接在package.json中修改:只能改大,不能改小。
重新publish
npm下载使用包
一、初始化项目
-
创建一个空文件夹(不要起中文名字哦!)
-
在cmd中打开空文件夹的位置
-
输入代码
npm init --yes // --与yes之间没有空格,--与init之间有空格
完成init命令文件夹下会生成一个package.json文件,这个文件中记录了我们当前项目的基本信息,可以进行手动修改,修改成自己需要的信息,它是一切工作的开始。
这个文件中有非常多的内容,常见的有如下几个:- name: 表示这个项目的名字。如是它是一个第三方包的话,它就决定了我们在require()时应该要写什么内容。
- version:版本号
- keywords:关键字
- author: 作者
- descrption: 描述
其它可参考
1.http://javascript.ruanyifeng.com/nodejs/packagejson.html
2.http://caibaojian.com/npm/files/package.json.html
二、安装包
在npm官网中,有上百万个包,供我们使用(你需要在npm网上注册帐号,登陆上去,才可以看到相应的数据可以上传自己的包,如果只是下载安装包,则并不需要注册),包分为全局包和项目包,我们需要用不同方式下载不同的包。
-
包的分类
-
npm镜像—可以使包下载的更快
什么是镜像?镜像就是副本,拷贝。
默认情况下,从npm官方下载,网速比较慢;我们可以去它的镜像网站上来下载。我们可以直接输入以下代码更改,也可以下载nrm包进行更改镜像,nrm 这个工具是帮助我们切换npm镜像源的。可以使更改镜像代码更加简洁// 设置镜像为taobao。 npm config set registry https://registry.npm.taobao.org // 设置镜像为npm官方 npm config set registry https://registry.npmjs.org // 查看配置 npm config get registry
// nrm更改镜像 // 第一步: 全局安装 npm install nrm -g // 第二步:列出所有的源信息 //(*)标注的就是当前使用的源 nrm ls // 第三步:根据需要切换源 // 例如:指定使用taobao镜像源 nrm use taotao // 接下来,正常安装你需要的包
-
安装全局包和项目包
全局安装的包一般可提供直接执行的命令。我们通过对一些工具类的包采用这种方式安装,如: gulp, nodemon,live-server, nrm等。
要用到该包的命令执行任务的就需要全局安装。本地安装的包是与具体的项目有关的, 我们需要在开发过程中使用这些具体的功能。
要通过require引入使用的就需要本地安装-项目包。安装命令如下:
-
删除包
npm uninstall 本地安装的包名 npm uninstall 全局安装的包名 -g
三、 引入模块,使用
当我们已经下载好一个包之后,就可以像使用核心模块一样去使用它。
部分使用过的包
i5ting_toc
介绍:i5ting_toc 是一个全局包,可以把 md 文档转为 html 页面的小工具。
验证是否安装成功方法(在文件根目录中用cmd执行下面的代码),尝试是否可以将md转换成html:
i5ting_toc -f 文件名称.md
nodemon
介绍:nodemon是一个全局包,它能帮我们自动检测到我们的代码的修改,并自动重新运行我们的代码
安装完 nodemon 后,就可以用 nodemon 来代替 node 来启动应用,之后即可不用每次修改了代码都需要才能使代码生效,它可以自动更新运行代码输出结果,命令如下:
nodemon [your node app](相当于 node [your node app])
npm 常用命令
-
查看
npm -v // 查看npm 版本 where node // 查看node的安装目录 where npm // 查看npm的安装目录 npm root -g // 查看全局包的安装目录 npm list -g --depth 0 // 查看全局安装过的包
-
升级 npm
npm install npm --global // 简写成 -g npm install npm -g
-
初始化
package.json
npm init -y // 或者是npm init --yes
-
安装第三方包
// 安装当前目录下package.json中列出的所有的包 // 如果之前安装了包,又在package.json中手动删除依赖 // 它相当是删除包 npm install // 全局安装 npm install 包名 -g // npm install -g 包名 // 本地安装,没有指定版本,默认安装最新的版本 npm install 包名 // 一次安装多个包,空格隔开 npm install 包名1 包名2 包名3 // 安装指定版本的包 npm install 包名@版本号 // 简写。把install简写成 i npm i 包名
-
删除已安装的包
npm uninstall 本地安装的包名 npm uninstall 全局安装的包名 -g
-
设置npm的register
如果你不想用
nrm
,下面这个原生的命令也可以切换镜像源(从哪里下载包)。npm config set registry https://registry.npm.taobao.org ## 所有npm i 包 都会从taobao的镜像去下载。 ## 配置后可通过下面方式来验证是否成功 npm config get registry
~~