如何开发一个自己的包并发布到npm

注册npm账号

点击 npm官网 注册自己的账号

构建一个自己的包

本地新建一个文件夹

文件夹内新建三个文件,index.js,package.json,README.md

index.js:写分享出去的对象。

package.json:写name:包的名字(必须),version:版本号,main:包的入口文件,以及其他相关配置信息。

注意:package.json中的name在npm官网上搜一下,必须具有唯一性

比如

README.md:说明文档,没有特殊要求

下面举一个例子,构建一个将一个数据转换为万元为单位的包

包的结构如下:

index.js内容如下:

javascript 复制代码
const thousand=require('./dist/thousand');
module.exports={
    ...thousand
}

dist/thousand.js内容如下:

javascript 复制代码
 const formatAsTenThousand = number => {
    if (!number) return "";
    return (number / 10000).toFixed(1);
  };
  exports.formatAsTenThousand=formatAsTenThousand

package.json内容如下:

javascript 复制代码
{
    "name": "thousand_tools",
    "version": "1.0.0",
    "main": "index.js",
    "description": "将一个数据转换为万元为单位",
    "keywords": [
        "thousand",
        "escape"
    ],
    "license": "ISC",
    "dependencies": {
        "thousand_tools": "^1.0.0"
    }
}

README.md内容自己看着写

登录npm账号

确认本地终端为npm

在登录之前,要确认本地的镜像源为npm官方服务器,否则会导致发布失败。在终端输入:

javascript 复制代码
npm config get registry

上图看出本地终端是淘宝镜像,所以要切换当前镜像为npm

切换npm镜像

两种方式

1、nrm 镜像源管理

终端输入npm i nrm -g,全局安装nrm

javascript 复制代码
npm i nrm -g

安装完成后,在本地终端输入nrm ls,查看可用的镜像源

javascript 复制代码
nrm ls

上图表示,当前镜像源为npm

第一次上传包之前,终端输入 nrm use npm,确保切换镜像源为npm

javascript 复制代码
nrm use npm

nrm use 镜像源名称,表示切换为当前镜像源。比如nrm use yan,nrm use taobao等

2、命令行直接切换

终端直接输入npm config set 镜像源地址进行切换

javascript 复制代码
npm config set https://registry.npmjs.org/

终端登录npm

终端输入npm login

javascript 复制代码
npm login

按照提示输入账号,密码

登录完成之后,可以终端输入 npm whoami确定是否登录成功

javascript 复制代码
npm whoami

发布包到npm

按照上面步骤,登录成功之后,切换到要发布的包的根目录,终端输入npm publish

javascript 复制代码
npm publish

然后回到npm官网

看到上图,thousand_tools包即发布成功。

删除包

终端输入

javascript 复制代码
npm unpublish thousand_tools --force

npm unpublish 包名 --force,即可从 npm 删除已发布的包。

比如删除上面thousand_tools包

注意:

npm unpublish 命令只能删除 72 小时以内发布的包

npm unpublish 删除的包,在 24 小时内不允许重复发布

相关推荐
ChangYan.2 小时前
直接下载源码但是执行npm run compile后报错
前端·npm·node.js
cz追天之路5 小时前
华为机考 ------ 识别有效的IP地址和掩码并进行分类统计
javascript·华为·typescript·node.js·ecmascript·less·css3
C_心欲无痕8 小时前
nodejs - npm run原理
前端·npm·node.js
千里马-horse9 小时前
TypedArrayOf
开发语言·javascript·c++·node.js·napi
程序员爱钓鱼10 小时前
Node.js 编程实战:错误处理与安全防护
前端·后端·node.js
程序员爱钓鱼10 小时前
Node.js 编程实战:模板引擎与静态资源
前端·后端·node.js
H@Z*rTE|i10 小时前
webpack 打包流程(极简记忆口诀)
前端·webpack·node.js
A_one201011 小时前
利用npm内置命令构建脚本工具
前端·npm·node.js
Summer不秃12 小时前
使用 SnapDOM + jsPDF 生成高质量 PDF (含多页分页, 附源码)
前端·javascript·vue.js·pdf·node.js
青衫折扇15 小时前
执行 npm 安装命令时,包被装到了 C 盘用户目录下,而非项目根目录
前端·npm·node.js