美文网首页
npm包的发布、下载、删除、迭代

npm包的发布、下载、删除、迭代

作者: 廊桥梦醉 | 来源:发表于2020-02-25 16:56 被阅读0次

作为前端,对于npm包的使用大家都非常熟悉,所以这里就不多说,只说一下npm包的发布和删除,说之前请大家通过nrm ls,确认一下当前的源,确认一下当前的源,确认一下当前的源,重要的事情说三遍,因为我搞了好几个例子发布成功后去npm官网查看,搜索不到,最后发现使用的是公司的源,最后在公司源地址找到了自己发布的包,也是怕干扰别人,就把错发的包进行了删除。

下面我要说的例子是发布到npm官网的喔!!!!

一、准备工作

在正式开始演示前,我们还需要做两项准备工作
1.注册npm账户
登录  https://www.npmjs.com/signup 注册 一个npm账号
全名:邮箱:用户名:重要!发布scoped包时会用到密码:

2.全局安装nrm
npm install nrm -g
nrm是npm仓库管理的软件,可用于npm仓库的快速切换

nrm 的常用命令:
nrm //展示nrm可用命令
nrm ls //列出已经配置的所有仓库
nrm test //测试所有仓库的响应时间
nrm add<registry><url>//新增仓库
nrm use<registry>//切换仓库

二、npm包的发布

第一步:本地新建一个文件 mkdir npmtestwang

第二步:进入文件npmtestwang

第三步:npm init 初始化一个package.json文件,添加一些项目信息,直到ok

name:填写你这个包的名字,默认是你这个文件夹的名字。不过这里要着重说一下,最好先去npm上找一下有没有同名的包。最好的测试方式就是,在命令行里面输入npm install 你要取的名字,如果报错,那么很好,npm上没有跟你同名的包,你可以放心大胆地把包发布出去。如果成功下载下来了。。。那么很不幸,改名字吧。。。

version:你这个包的版本,默认是1.0.0

description:其实我也不知道是什么,按回车就好了。。。,这个用一句话描述你的包是干嘛用的,比如我就直接:‘a plugin for express.register routes base on file path’

entry point:入口文件,默认是Index.js,你也可以自己填写你自己的文件名

test command:测试命令,这个直接回车就好了,因为目前还不需要这个。

git repository:这个是git仓库地址,如果你的包是先放到github上或者其他git仓库里,这时候你的文件夹里面会存在一个隐藏的.git目录,npm会读到这个目录作为这一项的默认值。如果没有的话,直接回车继续。

keyword:这个是一个重点,这个关系到有多少人会搜到你的npm包。尽量使用贴切的关键字作为这个包的索引。我这个包嘛,第一是在express下工作的,然后又是一个插件plugin,然后又是一个注册路由route用的,而这个路由又是基于文件目录dir,所以很好就得出我的包的索引关键字。

author:写你的账号或者你的github账号吧

license:这个直接回车,开源文件来着。。。

然后它就会问你Are you ok然后我们回到我们的文件目录里面去看一看,发现多出来一个package.json文件

第四步:新建一个index.js,写一个方法,或者你刚才修改了那个entry point的值,那么你这个文件名也跟着改为那个值。将它export。

第五步:然后,最重要的,写好README.md,一个给大家描述你的包的markdown文件,告诉使用者你的包是做什么的。

第六步:用npm登录命令登录一下

第七步:在目录下npm publish发布

第八步:去npm官网查看

三、npm的下载

第九步:以上完成,可以通过npm install 包名 下载。

注意:如果遇到发布成功但是npm官网查不到,请确认包源是否正确。

四、npm的删除/废弃

npm包发布之后可以对包进行废弃和删除操作,废弃和删除的区别在于:
      废弃不会将包或者版本从npm仓库删除,仍然可以继续下载安装,并在安装的时候会有警告
        删除会将包从npm彻底删除,无法被下载安装

无论是废弃还是删除,都包含2个层面:版本的废弃/删除    包的废弃/删除

(一)废弃
    第一步:废弃指定的版本
     npm deprecate <pkg>[@<version>]<message>
我们以npmtest为例:npm deprecate npmtest@0.0.1 'test deprecate'

执行之后我们用 npm view wangtest versions 查看版本

记录的版本号并无变化。

第二步:安装废弃版本
  切换到项目目录下,执行:npm install npmtest@0.0.1

第三步:node index.js
发现废弃的版本除了安装时候会被警示,并不影响使用。

(二)删除
           npm不鼓励任何形式的删除,主要因为我们发布的包可能已经被其他人引用,如果我们删除了此包,其他人重新安装含有我们包的依赖时,出现找不到的问题
基于此,npm做了相关的删除限制:
删除的版本24小时后方可重发!
只有发布72小时之内的包可以删除!

第一步:删除发布的包
   npm unpublish npmtest --force

第二步:去官网查找

第三步:在目录下,现将下载的包卸载
  npm rm npmtest

然后重新安装
   npm install npmtest

结果已经删除的包无法安装

至此,我们完成了npm包整个生命周期的演示过程。

四、npm的迭代

一个npm包发布之后,我们难免会修改一些bug,或者增改一些功能,这就涉及到对npm包的迭代。
npm包的每次迭代都要涉及到两个方面:
内容的变更
版本的变更

(1)更新内容

(2)更新版本
npm的版本知识
npm采用语义化版本,共三位,以’.’隔开,从左至右依次代表:主版本(major)、次要版本(minor)、补丁版本(patch)。例如:
1.0.0
major.minor.patch

关于版本规范

变更版本号的命令:npm version <major | minor | patch>
假如我们本次是次要发布,我们执行命令:npm version minor
执行结果

package.json中的version也已变为1.1.0:

发布:npm publish

我们可以通过命令查看我们包的所有版本:npm view wlj-cli versions

安装更新
1)切换到test-my-pkg目录下:npm up wlj-cli

参考文章:https://www.jianshu.com/p/36d3e0e00157
参考文章:https://www.cnblogs.com/shichangchun/p/9702587.html

可以学习的资料:
1.《npm发布包教程(一):从npm说起》
2.《npm发布包教程(二):发布包》
3.《npm发布包教程(三):安装发布包》
4.《npm发布包教程(四):迭代》
5.《npm发布包教程(五):废弃/删除》

相关文章

网友评论

      本文标题:npm包的发布、下载、删除、迭代

      本文链接:https://www.haomeiwen.com/subject/bhfxchtx.html