如何发布一个自己的 npm 包?

8,636次阅读
没有评论

共计 2126 个字符,预计需要花费 6 分钟才能阅读完成。

一. 准备工作

1. 注册 npm 账号

还没有 npm 账号?去官网注册:https://www.npmjs.com/

需要记住用户名、密码、邮箱

2. 查看本地 npm 镜像,如果不是默认的,需要改回来

npm config get registry

重置镜像路径

npm config set registry https://registry.npmjs.org

之后有需要再切换回国内加速镜像

npm config set registry https://registry.npm.taobao.org

二、创建 npm 包

在本地创建包目录,名为 selfinfo,进入到目录下面执行

npm init

初始化创建 package.json 包的信息

name:包名。
version:版本号,以后更新也要用到。

description:包的描述性文字。
main:包的入口文件,默认根目录的 index.js。
还有其它就不一一介绍了

注意这里 name 要唯一,不能和已发布的包重名,你可以到官网(https://www.npmjs.com/)搜索是否已经有了

{
  "name": "selfinfo",
  "version": "1.0.0",
  "description": "The introduction of Timfan",
  "main": "index.js",
  "scripts": {"test": "echo"Error: no test specified"&& exit 1"},
  "author": "timfan",
  "license": "ISC"
}

然后我们在包目录中创建示例代码 index.js

export default "hello world!";

三、发布 npm 包

1. 在终端登录 npm 包管理平台

npm adduser

执行命令后依次输入用户名、密码、邮箱,最终输出如下内容表示登录成功。

Logged in as timfan on https://registry.npmjs.org/.

2. 开始发布

npm publish

第一次执行可能会提示:you must verify your email before publishing a new package: www.npmjs.com/email-edit,按照提示打开这个网址,输入第 2 步配置的邮箱,然后登录邮箱点击邮件进行验证即可。

E:privateselfinfo>npm publish
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
npm notice
npm notice package: selfinfo@1.0.0
npm notice === Tarball Contents ===
npm notice 236B package.json
npm notice === Tarball Details ===
npm notice name:          selfinfo
npm notice version:       1.0.0
npm notice filename:      selfinfo-1.0.0.tgz
npm notice package size:  254 B
npm notice unpacked size: 236 B
npm notice shasum:        02b5c81a596c463cc7a9e060b5494c2f3a2d5ef1
npm notice integrity:     sha512-+OrYPim/sQhYy[...]/3vc3/qaOLJ6g==
npm notice total files:   1
npm notice
npm notice Publishing to https://registry.npmjs.org/
+ selfinfo@1.0.0

我们可以登录官网自己账号下查看发布的包是否成功

如何发布一个自己的 npm 包?

或者通过命令 npm install

E:privatetest>npm install selfinfo
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

added 1 package, and audited 2 packages in 47s

found 0 vulnerabilities

3. 更新包

后面如果我们需要升级包,改了包的代码,同步更新到包管理平台 npm,需要修改 package.json 中的版本号,还是执行

npm publish

四、优化发布过程

为了避免每次发布、更新 npm 包需要执行一堆的命令,可能很难记住先后顺序,我们将执行的命令写进终端可执行的文件 shell 脚本中:

#!/usr/bin/env bash
set -e

# 修改 npm 源地址
npm config get registry
npm config set registry=http://registry.npmjs.org

# 登陆输入自己的 npm 账号和密码,还有邮箱
echo '登录 npm'
npm login

echo "发布中..."
npm publish

# 改回 npm 源地址
npm config set registry=https://registry.npm.taobao.org
echo -e "n 发布成功 n"
exit

则每次只需执行该 shell 文件即可:sh "文件名"

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计2126字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)