npm发布自己的组件组件/插件包

2024-06-04 12:28
文章标签 组件 npm 发布 插件包

本文主要是介绍npm发布自己的组件组件/插件包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

在项目开发过程中,我们经常会用到一些工具函数。虽然像lodash这样的库提供了丰富的功能,但其体积较大,有时我们更倾向于使用自己封装的轻量函数库。这篇博客将以创建并发布一个工具函数库为例,详细介绍如何在npm上发布自己的包。

一、准备工作

1. 官网注册

首先,需要在npm官网注册一个npm账户。

  • 官网
  • 创建账号入口

注意:注册后需要通过邮箱验证账户。

2. 创建函数库目录及初始化

创建好账号后,我们来新建并初始化函数库目录。

# 创建目录
mkdir js-util-libs# 进入目录
cd js-util-libs/# 目录初始化
npm init
3. 文件内容及目录结构
package.json

package.json文件中,name字段的值应与项目名称一致。以下是一个示例:

{"name": "js-util-libs","description": "JS 常见的函数工具库","version": "1.2.5","author": "fuzhaoyang <932647051@qq.com>","license": "MIT","main": "index.js","files": ["index.js","src"],"private": false,"scripts": {"test": "jest","watch": "jest --watchAll","coverage": "jest --coverage"},"keywords": ["js-util-libs","debounce","throttle"],"homepage": "https://github.com/fuzhaoyang/js-util-libs.git","repository": {"type": "git","url": "git+https://github.com/fuzhaoyang/js-util-libs.git"},"publishConfig": {"registry": "https://registry.npmjs.org/"},"dependencies": {"jest": "^26.0.1"},"devDependencies": {"husky": "7.0.2"}
}
index.js

编写入口文件,导出需要的函数。以下是一个示例:

// index.js
export { debounce, throttle } from "./src/throttle_debounce/index.js";
目录结构

项目的目录结构如下:

js-util-libs/
├── src/
│   └── throttle_debounce/
│       └── index.js
├── index.js
├── package.json
├── README.md

各文件的作用:

  • src/:存放工具函数。
  • index.js:入口文件。
  • package.json:npm包配置文件。
  • README.md:包说明文档。

二、如何发布

1. 添加用户

在项目根目录下运行npm adduser命令,添加用户信息。

npm adduser

如果已经注册过账号,直接登录即可。

2. 登录

运行npm login命令,输入用户名、密码、邮箱。

npm login
3. 发布包

使用npm publish命令发布包。

npm publish

发布完成后,可以在自己的npm包列表中看到发布的包,同时注册邮箱会收到发布成功的通知。

4. 注意事项

如果发布过程中遇到错误 npm ERR! code ENEEDAUTH,需要确保package.json中的publishConfig设置正确:

"publishConfig": {"registry": "https://registry.npmjs.org/"
}

三、如何使用

现在,我们的包已经在npm上了,可以在项目中直接安装并使用。

npm i js-util-libs

在项目中导入使用:

// 引用
import { deepCopy } from 'js-util-libs';// 使用
const obj = { aa: 1, b: '52' };
const text = deepCopy(obj);

四、如何删除发布的包

如果发布的包不想用了,可以使用以下命令删除包:

npm --force unpublish js-util-libs

注意:超过24小时后不能删除包。

五、如何废弃包

可以标记包为废弃,用户在安装时会收到提示:

npm deprecate --force js-util-libs@1.0.0 "这个包不再维护了。"

六、如何更新包

需要先在package.json中修改版本号,然后再次发布:

npm publish

七、总结

本文介绍了如何创建并发布一个npm包的详细过程。你可以根据需要创建自己的函数库,并将其分享给更多人。

  • js-util-libs的git仓库地址
  • npm地址

这篇关于npm发布自己的组件组件/插件包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030080

相关文章

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

Vue3中的动态组件详解

《Vue3中的动态组件详解》本文介绍了Vue3中的动态组件,通过`component:is=动态组件名或组件对象/component`来实现根据条件动态渲染不同的组件,此外,还提到了使用`markRa... 目录vue3动态组件动态组件的基本使用第一种写法第二种写法性能优化解决方法总结Vue3动态组件动态