位置: IT常识 - 正文

用 rollup + gulp 造个轮子,别说还挺香(用pullout造句)

编辑:rootadmin
前戏 我是16年入了前端的坑,17年知道了gulp和rollup这两个玩意儿。由于那时webpack势头很猛,便一直没有正眼瞧过它一眼。 直到20年进了一家小公司,做了很多类似的小项目,相同的代码拷来拷去,出现一个bug一堆项目都要改,实在恶心到我了。 于是不得不开始考虑将一些公共的方法和组件提取出 ... 前戏

推荐整理分享用 rollup + gulp 造个轮子,别说还挺香(用pullout造句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:用roller造句,用role造句,用roll up造句,用rope造句,用roll up造句,用roll造句子,用roll up造句,用rope造句,内容如对您有帮助,希望把文章链接给更多的朋友!

我是16年入了前端的坑,17年知道了gulp和rollup这两个玩意儿。由于那时webpack势头很猛,便一直没有正眼瞧过它一眼。

直到20年进了一家小公司,做了很多类似的小项目,相同的代码拷来拷去,出现一个bug一堆项目都要改,实在恶心到我了。

于是不得不开始考虑将一些公共的方法和组件提取出来,做成一个第三方库来维护。而在库的封装方面,rollup相对于webpack具有一定的优势。

在此,便和大家分享一下如何自己造轮子,封装一个前端库并发布到npm仓库中去。

源码

这是我自己封装的3个库,有兴趣可以看看:

https://github.com/moohng/dan;

用 rollup + gulp 造个轮子,别说还挺香(用pullout造句)

https://github.com/moohng/dui;

https://github.com/moohng/tui;

第一个是工具函数库,后面两个是UI库,目前已全部使用TypeScript重写。dui是基于Vue 3封装的,tui无任何依赖,通过tsx语法实现的。

由于后面没多久就离职了,也就没有封装更多方法和组件进去了,但还是具有一定的学习参考价值,尤其对于新手朋友。

每一个库从目录结构、打包命令、导出方式、ts类型支持、单元测试、自动发布等,几乎所有细节知识都涵盖到了。

实操

浏览百遍,不如实操一遍(文章基于tui来做介绍)。

目录结构

另外,还有lib和dist两个打包输出的目录没有列出来。

从上到下:

.github:GitHub自动打包发布的脚步配置目录;packages:存放tui组件库的源码;src:tui组件库演示demo目录;test:测试相关代码;webpack:暂时忽略,用于测试webpack打包用的;

后面的babel.config.json、gulpfile.esm.js、rollup.config.js、tsconfig.json分别是babel、gulp、rollup、ts的配置文件。

环境配置

tsconfig.json配置如下:

{ "compilerOptions": { "jsx": "preserve", // 支持jsx "module": "esnext", "target": "esnext", "declaration": true, // 生成相应的 .d.ts文件 "declarationDir": "lib", // 生成
本文链接地址:https://www.jiuchutong.com/zhishi/304118.html 转载请保留说明!

上一篇:c语言中函数的两种形式(c语言中函数的实参和形参)

下一篇:安装帝国cms如何配置iis(帝国cms使用手册)

  • 淘宝SEO的三大策略(淘宝seo的三大策略是)

    淘宝SEO的三大策略(淘宝seo的三大策略是)

  • 苹果13有没有粉色(苹果13有没有粉丝)

    苹果13有没有粉色(苹果13有没有粉丝)

  • 微信朋友圈可以查看访客记录吗(微信朋友圈可以看到谁浏览过吗)

    微信朋友圈可以查看访客记录吗(微信朋友圈可以看到谁浏览过吗)

  • vivox27耐摔吗(vivox27抗摔吗)

    vivox27耐摔吗(vivox27抗摔吗)

  • 怎么让微信消息不振动(怎么让微信消息在锁屏显示内容)

    怎么让微信消息不振动(怎么让微信消息在锁屏显示内容)

  • 微信推不了自己名片(微信推荐不了好友了怎么回事)

    微信推不了自己名片(微信推荐不了好友了怎么回事)

  • 苹果x屏幕摔出白线(苹果x屏幕摔出黑色块修多少钱)

    苹果x屏幕摔出白线(苹果x屏幕摔出黑色块修多少钱)

  • 序列号给别人有危险吗(序列号给别人有事吗)

    序列号给别人有危险吗(序列号给别人有事吗)

  • 8位wifi初始密码是多少(8位数wifi密码)

    8位wifi初始密码是多少(8位数wifi密码)

  • 苹果8plus能无线充电吗(苹果14手机支持无线充电吗)

    苹果8plus能无线充电吗(苹果14手机支持无线充电吗)

  • 赛扬n4100相当于i几(赛扬n4100相当于i3)

    赛扬n4100相当于i几(赛扬n4100相当于i3)

  • 钉钉电话怎么不显示(钉钉电话怎么不开摄像头)

    钉钉电话怎么不显示(钉钉电话怎么不开摄像头)

  • 荣耀20i怎么设置返回键(荣耀20i怎么设置锁屏壁纸)

    荣耀20i怎么设置返回键(荣耀20i怎么设置锁屏壁纸)

  • 855支持wifi6吗(855支持wifi6嘛)

    855支持wifi6吗(855支持wifi6嘛)

  • 微信提示有未读信息可看不到咋回事(怎么设置微信来消息不显示内容)

    微信提示有未读信息可看不到咋回事(怎么设置微信来消息不显示内容)

  • 限制附近功能是什么意思(限制附近功能是什么)

    限制附近功能是什么意思(限制附近功能是什么)

  • 主板功能的多少往往取决于什么芯片(主板功能的多少,往往取决于)

    主板功能的多少往往取决于什么芯片(主板功能的多少,往往取决于)

  • 数据库阶段的特点是什么(数据库有哪几个阶段)

    数据库阶段的特点是什么(数据库有哪几个阶段)

  • cd音乐格式是什么(cd的音乐播放格式)

    cd音乐格式是什么(cd的音乐播放格式)

  • 为什么苹果没有9(为什么苹果没有声音)

    为什么苹果没有9(为什么苹果没有声音)

  • 文档的主题格式在哪里(文档的主题格式怎么设置)

    文档的主题格式在哪里(文档的主题格式怎么设置)

  • 手机支付宝如何充钱(手机支付宝如何查询一年以上的转账记录)

    手机支付宝如何充钱(手机支付宝如何查询一年以上的转账记录)

  • 三星W20 5G是什么处理器(三星w2020是5g手机吗)

    三星W20 5G是什么处理器(三星w2020是5g手机吗)

  • 微信运动一万步多少公里(微信运动一万步相当于多少公里)

    微信运动一万步多少公里(微信运动一万步相当于多少公里)

  • 未接通是啥意思(未接和未接通的区别)

    未接通是啥意思(未接和未接通的区别)

  • 花呗周卡怎么关闭(如何关闭花呗周周省)

    花呗周卡怎么关闭(如何关闭花呗周周省)

  • 怎么利用腾讯手游助手来给王者荣耀游戏加速(怎么利用腾讯手机号找人)

    怎么利用腾讯手游助手来给王者荣耀游戏加速(怎么利用腾讯手机号找人)

  • GPT-4:关于下一代人工智能模型的事实、谣言和期望

    GPT-4:关于下一代人工智能模型的事实、谣言和期望

  • python能读取tsv吗(python读取text)

    python能读取tsv吗(python读取text)

  • 中级税务师是什么
  • 利润表的税金及附加是计提数还是实缴数
  • 计提减值准备是什么凭证
  • 独立核算自负盈亏和统负盈亏怎么选
  • 购进出口商品的会计分录
  • 小规模纳税人销售货物税率是多少
  • 可转换公司债券是什么意思
  • 铁路运输发票的开具要求
  • 集团公司收到的发票
  • 废物处置费如何做分录?
  • 抵扣发票未申报
  • 材料盘亏税前扣除怎么算
  • 核定征收公司有什么用
  • 个人投资收益要交所得税吗
  • 增值税抵扣主要用于哪些税收?
  • 个体户发票冲红应该具备什么条件
  • 办公设备发票开票内容
  • 企业所得税季度预缴可以弥补以前年度亏损吗
  • 变更经营范围要什么资料
  • 收到退还的工会经费进什么科目
  • 软件 摊销
  • 发票章不清楚可以报销吗
  • 所得税汇算清缴前取得跨年发票
  • php面包屑导航
  • php预定义常量要使用define函数进行定义
  • 年度企业所得税汇算清缴会计分录怎么做
  • info是什么软件
  • PHP:pcntl_signal()的用法_PCNTL函数
  • 资产负债表的编制依据是会计恒等式
  • 污水处理厂能享受补助吗
  • 孕妇钙片什么时候吃最好吸收? 已解决
  • 经验模态分解和变分模态分解
  • x-s和web_session
  • php 输出
  • 详解php归并排序数据
  • 残保金缴纳需要计提吗
  • 如何修改wordpress主题
  • 个体工商户开普通发票需要交税吗
  • 销售收入是不是销售额
  • 融资租赁利息一般多少
  • mongodb简单使用
  • pandas columns排序
  • 全国通用机打销售票真伪
  • 让渡资产使用权属于收入吗
  • 第一季度利润表年初余额
  • sqlserver经典书籍
  • 网上缴税app叫什么
  • 餐饮企业餐具计入什么科目
  • 招待费住宿
  • 库存商品盘盈是什么意思
  • 成本法和权益法的转换
  • 增值税抵扣可以完全抵扣吗
  • mysql如何优化sql查询
  • sql语句提取字符串中数字
  • mysql连接数 是针对db还是服务器
  • freebsd9.3安装教程
  • macbookair numbers
  • linux动态链接库怎么调用
  • 怎么操作win10系统
  • 笔记本接外设
  • cocos2d安装
  • opengles 抗锯齿
  • nodejs初始化
  • angular.js
  • 接入hpool
  • js 操作excel
  • Clipboard.js 无需Flash的JavaScript复制粘贴库
  • javascript取随机数
  • python读写文件wr
  • js基于什么
  • 深圳市税务局好考吗
  • 税务局窗口业务
  • 学费报销找学校哪个部门
  • 合规管理的基本要求
  • 全面推进行政执法公示制度包含的主要内容有
  • 掌上12333怎么交社保卡费用
  • acfunp
  • 什么是美国注册公司
  • 房契税发票丢了能补办吗
  • 常州金坛最新新闻
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设