资讯专栏INFORMATION COLUMN

2019年我的 TypeScript 轮子这样写

Baaaan / 1367人阅读

摘要:本文近日施工中与各位分享近期笔者写一个较繁复的轮子的过程,以及其中的踩坑与思考。拿常用的库作比较的话,这个库性质类似这种辅助的工具库,这种范式有函数式和响应式编程的味道,具体是属于数据流编程的一种。

(本文近日施工中...)

与各位分享近期笔者写一个较繁复的轮子的过程,以及其中的踩坑与思考。若有更佳实践,还望不吝赐教。

要素察觉:目录结构, git 分支策略, TS 与 Lint ,多个构建入口和目标包格式 (TS 与 构建,TS 与 Jest(测试) ,Rollup), tree shaking 与摇不下来的副作用,蛋疼的 jest debug 与 source map 。

轮子样貌

轮子是做 Flow-based Programming 用的,主要和我导师项目有关,如果你对这种编程范式有兴趣,可以进入 这个 Wiki 传送门 和 这个 awesome-fbp 项目看看类似的 FBP 项目。用过 IBM 的 UML 工具的同学可能更好理解,它类似活动和状态图。拿常用的库作比较的话,这个库性质类似 lodash, RxJS 这种辅助 coding 的工具库,这种范式有函数式和响应式编程的味道,具体是属于数据流编程的一种。因为解释起来很麻烦,所以略去千字...

一些小目标 覆盖主要几种包格式

CommonJS:Node.js 的寻常包格式,用 npm 安装再直接 require 那种

ES Module:ES2015 标准推的 JS 模块标准,搭配 webpack/rollup 摇一摇食用更佳,rollup 还会做数据流分析,摇树的力度更大。我们把 ESM 版本也放在 npm 发布的包里,提供 package.json 中的 module 字段和一个 path-mapping 文件(给 Babel/webpack/rollup 配置时用的),将用户普通 require 的目标重定向到 ESM 版本

UMD:一种兼容 CJS,ESM,AMD 以及全局导出的包格式。通常直接 HTML 里 的那种。

CJS 和 ESM 发布的包应是模块化、多文件的,UMD 和 ESM-browser 则将所有文件打成一个包,方便用户下载和导入。

typings:TypeScript 的声明文件,建议当作一个版本,多带带放在一个文件夹;不然 *.js, *.js.map, *.d.ts 在一起看着很挤,版本之间又重复

使用多个构建入口和常量,而非环境变量

(本文近日施工中...)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/105967.html

相关文章

  • 一名【合格】前端工程师的自检清单

    摘要:在他的重学前端课程中提到到现在为止,前端工程师已经成为研发体系中的重要岗位之一。大部分前端工程师的知识,其实都是来自于实践和工作中零散的学习。一基础前端工程师吃饭的家伙,深度广度一样都不能差。 开篇 前端开发是一个非常特殊的行业,它的历史实际上不是很长,但是知识之繁杂,技术迭代速度之快是其他技术所不能比拟的。 winter在他的《重学前端》课程中提到: 到现在为止,前端工程师已经成为研...

    罗志环 评论0 收藏0
  • 一名【合格】前端工程师的自检清单

    摘要:在他的重学前端课程中提到到现在为止,前端工程师已经成为研发体系中的重要岗位之一。大部分前端工程师的知识,其实都是来自于实践和工作中零散的学习。一基础前端工程师吃饭的家伙,深度广度一样都不能差。开篇 前端开发是一个非常特殊的行业,它的历史实际上不是很长,但是知识之繁杂,技术迭代速度之快是其他技术所不能比拟的。 winter在他的《重学前端》课程中提到: 到现在为止,前端工程师已经成为研发体系...

    isaced 评论0 收藏0
  • React 造轮子系列:Icon 组件思路

    简介 本轮子是通过 React + TypeScript + Webpack 搭建的,至于环境的搭建这边就不在细说了,自己动手谷歌吧。当然可以参考我的源码。 这里我也是通过别人学的,主要做些总结及说明造各个轮子的一种思路,方便今后使用别人的的轮子时自己脑中有造轮子的思想,能通过修改源码及时修改 bug,按时上线。 本文的 Icon 组件主要是参考 Framework7 中的 Icon React ...

    stormzhang 评论0 收藏0
  • React 造轮子系列:Icon 组件思路

    简介 本轮子是通过 React + TypeScript + Webpack 搭建的,至于环境的搭建这边就不在细说了,自己动手谷歌吧。当然可以参考我的源码。 这里我也是通过别人学的,主要做些总结及说明造各个轮子的一种思路,方便今后使用别人的的轮子时自己脑中有造轮子的思想,能通过修改源码及时修改 bug,按时上线。 本文的 Icon 组件主要是参考 Framework7 中的 Icon React ...

    instein 评论0 收藏0
  • 我厌倦了 Redux,那就造个轮子 Rectx:第三集

    摘要:呵呵,你没想到吧,这玩意儿竟然有第三集我靠,我自己都没想到,让我们悄悄的回顾一下前两集完全没想到,竟然会有第二集我厌倦了,那就造个轮子第二集痛点分析第一集在这里我厌倦了,那就造个轮子算了,我都懒得写了,自己看吧,当然不看也无所谓,正式开始。 仓库:215566435/rectx 前言 麻烦快去我的仓库里面喷: 老子学不动了,求不要更新。 呵呵,你没想到吧,这玩意儿竟然有第三集!我靠,我...

    adam1q84 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<