美文网首页IT技术篇npm
如何发布自己的 npm 包?

如何发布自己的 npm 包?

作者: 编程范儿 | 来源:发表于2023-03-28 14:48 被阅读0次

    一. 准备工作

    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/.](https://registry.npmjs.org/.)

    2. 开始发布

    npm publish
    

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

    E:\private\selfinfo>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
    

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


    1680071287216-1a13b0ac-cd10-45c8-8512-7938964c9b90.png

    或者通过命令 npm install <package-name>

    E:\private\test>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 "文件名"

    相关文章

      网友评论

        本文标题:如何发布自己的 npm 包?

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