开源之路——如何发布属于自己的npm包

news2024/11/25 19:38:51

开源之路——如何发布属于自己的npm包

    • 1、前言
    • 2、起步
      • 2.1、初始化项目
      • 2.2、安装webpack相关依赖
      • 2.3、添加入口文件和封装方法
      • 2.4、设置源
      • 2.5、添加用户
      • 2.6、发布
    • 3、使用

1、前言

在进行开发的过程当中,难免会出现一些重复性的工作,例如说我们要对一个数组对象按照某一个字段进行大小排序,又或者说把Promise对象进行封装,把AJAX请求也进行封装,但是在后续的开发过程当中,更换项目后,再去找之前的代码很难去定位到对应的位置,这个时候自定义npm包就显得额外重要了,有时候就会想像这种loadsh这种提供了很多种对应的函数、对象等这种方法是如何实现的,为什么他只需要执行一个npm命令,就可以直接使用对应封装好的方法,这个就是本篇将要说的。

在这里插入图片描述

2、起步

2.1、初始化项目

创建一个文件夹,通过命令初始化

npm init -y

2.2、安装webpack相关依赖

npm i webpack webpack-cli

依赖安装之后加一个webpack.config.js配置文件

const path = require('path')
module.exports = {
    // 模式
    mode: 'development', // 也可以使用 production
    // 入口
    entry: './src/index.js',
    // 出口
    output: {
        // 打包文件夹
        path: path.resolve(__dirname, 'dist'),
        // 打包文件
        filename: 'vue-lzq-util.js',
        // 向外暴露的对象的名称
        library: 'aUtils',
        // 打包生成库可以通过esm/commonjs/reqirejs的语法引入
        libraryTarget: 'umd',
    },
}

2.3、添加入口文件和封装方法

首先新增一个add.js文件,用来标识一个封装的工具,这里简单写一个

export function add(a, b) {
    return a + b
}

之后在src下新增index.js,将封装的工具引入进来并且进行暴露

export {
    call
}
from "./function/call"

export { add } from "./function/add"

2.4、设置源

将npm的源设置回npmjs官方提供的

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

2.5、添加用户

在npmjs官网上注册一个账号,之后通过该命令进行设置用户

npm addUser

2.6、发布

最后直接使用命令进行发布

npm publish

发布之后在npmjs上就可以看到了

在这里插入图片描述

3、使用

使用的话就相对来说比较简单了,和其他的包也是一样,直接npm install 包名 导入依赖后就可以直接使用了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/100865.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑如何格式化重装系统

​众所周知,默认情况下,计算机重新安装系统将设置格式化磁盘。如果您选择其他需要格式化的硬盘,您必须如何操作?一般来说,我们是pe手动格式磁盘可以避免立即格式化硬盘造成的一些问题。让我们谈谈如何格式化硬盘重做系…

【软件测试】测试的天花板?资深测试怎么一路爬的......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 测试职业的天花板是…

脑图谱的验证方法

方法 目的 与其他分割比较区域内的同质性 比较不同分割的平均区域内同质性 有约束的几何扰动比较 验证分割区域内部的功能同质性 留一交叉验证 验证相似矩阵的稳定性 剪影宽度silhouette width (SI) 计算簇内和簇外的功能信号相似性差异 骰子系数dice coefficient 衡…

G1D36-import-keras.save_model-code-沐沐的调参课

1、python导入函数 https://zhuanlan.zhihu.com/p/64893308 服了 https://blog.csdn.net/weixin_45195364/article/details/119857246?spm1001.2101.3001.6650.6&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-1198572…

OSCS开源安全周报第22期:NuGet 仓库中被发现 13.5 万个包含钓鱼地址的组件包

本周安全态势综述 OSCS 社区共收录安全漏洞15个&#xff0c;公开漏洞值得关注的是 Jenkins Google Login Plugin 存在开放重定向漏洞&#xff08;CVE-2022-46683&#xff09;&#xff0c;Netty <4.1.86.Final 存在拒绝服务漏洞&#xff08;CVE-2022-41881&#xff09;&…

【数据结构】Java实现顺序表

文章目录线性表顺序表顺序表的模拟实现1、新增元素,默认在数组最后新增2、判定是否包含某个元素3、查找某个元素对应的位置4、获取顺序表长度5、在 pos 位置新增元素6、获取 pos 位置的元素7、给 pos 位置的元素设为 value8、删除第一次出现的关键字key9、清除顺序表线性表 什…

接口性能测试,这个还真有用啊。

目录&#xff1a;导读 一、概述 二、为什么要做接口压力测试 三、接口压力测试的局限性 四、谁来做接口压力测试 五、如何做接口压力测试 六、如何设计接口压力测试方案 七、压力测试报告应该包含哪些结果 八、如何解读压力测试的结果 九、如何根据测试结果定位性能问…

Pandas提取数据的几种方式

文章目录前言Pandas读取数据的几种方式1. read_csv2. read_excel3. read_sql总结前言 快期末了&#xff0c;数据挖掘的大作业需要用到python的相关知识&#xff08;这太难为我这个以前主学C的人了&#xff0c;不过没办法还是得学&#x1f602;&#xff09;&#xff0c;下面是我…

[附源码]计算机毕业设计Python的疫苗接种管理系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

算法刷题打卡第50天:排序数组---快速排序

排序数组 难度&#xff1a;中等 给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 示例 1&#xff1a; 输入&#xff1a;nums [5,2,3,1] 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;nums [5,1,1,2,0,0] 输出&#xff1a;[0,0,1,1,2,5]快速排…

安科瑞霍尔闭环电流传感器在电动观光旅游车上的应用浅析

摘要&#xff1a; 本文介绍了基于霍尔闭环原理&#xff0c;即磁平衡式原理的电流传感器在电动观光旅游车上的使用方法&#xff0c;替代传统的霍尔器件&#xff0c;较好的解决了电动车行业现有霍尔传感器的基本问题&#xff0c;在稳定性上更加优越。 关键词&#xff1a;霍尔闭…

Linux----tr命令详细使用方法

【原文链接】Linux----tr命令详细使用方法 文章目录一、tr命令使用方法1.1 tr命令的作用1.2 tr命令格式1.3 tr命令常用的选项1.4 常用的匹配字符串二、tr命令常用实例2.1 如何查看文本中的控制字符2.2 将所有小写字母转换为大写字母2.3 将文件中的数字替换为&符号2.4 对命令…

android studio 升级 Dolphin | 2021.3.1 Patch 1 跟 View.isInEditMode,xml无法预览

最近一段时间Google又更新了AS的版本,一些小伙伴尝试了更新,发现在之前版本上好好的xml布局预览,在新版本上不显示了,新版本如下图所示。 一般来说出了新版本之后我们不会马上更新,因为会觉得新版本不稳定,问题多,但其实是问题不大,解决了就好了,那么我现在就遇到了一…

毕业设计 - 基于JSP的超市积分管理系统【源码 + 论文】

文章目录前言一、项目设计1. 模块设计系统功能需求管理员功能柜员功能2. 实现效果二、部分源码项目源码前言 今天学长向大家分享一个 web项目: 基于JSP的超市积分管理系统 一、项目设计 1. 模块设计 系统功能需求 &#xff08;1&#xff09;柜员信息的管理&#xff1a;包括…

交换机端口震荡

交换机端口是支持网络连接和通信的物理网络组件。作为 IT 基础架构的关键部分&#xff0c;它们通过在 OSI 数据链路层转发和接收数据包来促进网络。它们还执行一些关键的网络功能&#xff0c;例如处理第 3 层数据包、创建和管理 VLAN、连接路由器、启用互联网连接等。因此&…

Arweave -- 永久性存储分享

Arweave Arweave 是一种新型存储&#xff0c;它支持具有可持续和永久的数据&#xff0c;允许用户和开发人员真正永久地存储数据 Arweave 项目&#xff0c;以前称为 Archain&#xff0c;正在创建一个与互联网平行的永久、去中心化和不可审查的信息档案。Arweave 的新颖“block…

技术分享 | 软件测试入门必会-流程管理平台

JIRA 是目前比较流行的测试流程管理系统&#xff0c;现在很多大厂使用的都是 JIRA。为什么大厂更爱用 JIRA 呢&#xff1f;其实就是因为它的定制性非常的强。可以自己定义流程&#xff0c;自己定义界面&#xff0c;自己定义字段。通过这些自定义的方式&#xff0c;就可以让整个…

特殊情况的高新技术企业成长性计算方法。

根据文件《高新技术企业认定管理工作指引》&#xff08;国科发火〔2016〕195号&#xff09;规定&#xff0c;选取企业净资产增长率、销售收入增长率等指标对企业成长性进行评价。企业实际经营期不满三年的按实际经营时间计算&#xff0c;计算方法如下&#xff1a; 成长性评分标…

【数据结构初阶】反转链表

文章目录问题描述&#xff1a;思路分析&#xff1a;代码展示&#xff1a;问题描述&#xff1a; 给定一个单链表的头结点pHead(该头节点是有值的&#xff0c;比如在下图&#xff0c;它的val是1)&#xff0c;长度为n&#xff0c;反转该链表后&#xff0c;返回新链表的表头。 数据…

【计算机毕业设计】79.勤工助学管理系统源码

一、系统截图&#xff08;需要演示视频可以私聊&#xff09; 摘 要 随着我国教育需求不断增加&#xff0c;高校教育资源有限&#xff0c;教育经费相对不足的情况下&#xff0c;利用现代信息技术发展高等教育&#xff0c;不仅充分利用了优秀的教育资源&#xff0c;而且为更多的…