如何发布自己的 npm 包

  • 2020-01-14
  • 0
  • 0

什么是 npm?

npm 是 javascript 著名的包管理工具,是前端模块化下的一个标志性产物,简单地地说,就是通过 npm 下载模块,复用已有的代码,提高工作效率;和移动端开发中,iOS 使用的 Cocoapods,Android 使用的 maven 有异曲同工之妙。

如何发布一个自己的 npm 包

1、创建一个 npm 的账号
发布包之前你必须要注册一个 npmjs 的账号。

2、初始化一个简单的项目发布

  1. 本地创建一个文件夹:例如:alvinwp
  2. 执行命令进入目录: $ cd alvinwp;或通过 vscode 等 IDE 打开该项目
  3. 执行 npm init 初始化项目。默认一路回车就行
  4. 在 alvinwp 文件夹中创建一个文件名为 index.js 的文件,简单的写了一下内容。
    !function(){
      console.log(`alvinwp 引入的包入口`)
    }()
    

    或者直接将 js、css 等资源文件放在项目中。

package.json 文件的部分字段说明:

默认字段简介:
name:发布的包名,默认是上级文件夹名。不得与现在 npm 中的包名重复。包名不能有大写字母/空格/下滑线!
version:你这个包的版本,默认是 1.0.0。对于 npm 包的版本号有着一系列的规则,模块的版本号采用 X.Y.Z 的格式,具体体现为:
  1、修复 bug,小改动,增加z。
  2、增加新特性,可向后兼容,增加 y
  3、有很大的改动,无法向下兼容,增加 x
description:项目简介
mian:入口文件,默认是 index.js,可以修改成自己的文件 
scripts:包含各种脚本执行命令
test:测试命令。
author:写自己的账号名
license:这个直接回车,开源文件协议吧,也可以是 MIT,看需要吧。
注意:author 必须和步骤一中创建的 npmjs 账号名相同;每次 publish 前要保证 version 有变化,不然会报错。

3、如果本机第一次发布包(非第一次可忽略)
在终端输入 npm adduser,提示输入账号,密码和邮箱,然后将提示创建成功,具体如下图。
【注意】npm adduser 成功的时候默认你已经登陆了,所以可跳过第四步。

Alvin's Blog

最后一行显示登录信息,as 后面是用户名。on 后是源地址,如果不是 https://registry.npmjs.org/,比如是淘宝源,请切换。可以参考:https://segmentfault.com/a/1190000004444283

4、非第一次发布包
在终端输入 npm login,然后输入你创建的账号和密码,和邮箱,登陆,结果同步骤三。

5、npm publish 发包
成功发布:

PS D:\IISsites\alvinwp> npm publish
+ alvinwp@1.0.1

注意:如果项目里有部分私密的代码不想发布到 npm 上,可以将它写入 .gitignore 或.npmignore 中,上传就会被忽略了。

6、查询发布的包
到 npm 官网全局搜索即可

7、安装使用方式
和其他包使用方式一致,具体使用可以看源码介绍或者 README.md。

8、如何撤销发布的包
终端执行 npm unpublish
例如:

1、npm unpublish alvinwp@1.0.0 删除某个版本
2、npm unpublish alvinwp –force 删除整个 npm 市场的包

不过撤包推荐用法:
npm unpublish 的推荐替代命令:npm deprecate [@]
使用这个命令,并不会在社区里撤销你已有的包,但会在任何人尝试安装这个包的时候得到警告

例如:npm deprecate alvinwp ‘这个包我已经不再维护了哟~’

注意:如果报权限方面的错,加上 –force

评论

还没有任何评论,你来说两句吧