[第33周]全栈之路: 可视化管理工具与渐进式TS迁移

533 阅读2分钟

本文作者:姚泽源

栏目简介

介绍本周值得分享的技术内容, 周四发布

可视化管理工具

1.adminer

1.<高性能MySQL>推荐的数据库管理工具之一

2.只有一个php文件, 通过docker可以快速启动

3.安全可靠, 支持汉语/换肤(目前我在用的是这款)

4.在线demo

image.png

1.MongoDB-Compass

1.MongoDB的官方管理工具

image.png

1.motrix

1.如果你经常看到迅雷的版权提示/会员广告, 而且觉得很烦的话, motrix显然是一个好选择

2.motrix是一款基于aria2封装的下载工具. aria2可以说是目前最好的开源下载软件, 但是只有命令行界面, 使用起来很不方便. motrix则是使用Electron对aria2进行的封装, 图形化界面, 目前github一万star.

image.png

渐进式TS迁移

目前网络上对TS的主流观点还是认为这是一门新的编程语言, 通过静态分析对数据类型进行严格校验, 专业解决面向对象方面的问题. 当然, 对应的是, 引入成本比较高(需要引入tsc / ts-loader / tslint / etc)

由于抱有上面的想法, 因此在业务方中, 推广TS并不容易. 因为在业务方看来, TS虽然完美实现了面向对象当中的类/接口/多态, 但这不过是创造了一个前端开发中并不存在的问题并解决了它. 带来了大量的学习/迁移成本不说, 对实际工作还没有帮助. 因此, 业务方对TS的兴趣并不大.

但是, 如果换个思路考虑就好多了.

在实际业务开发中, 如何记忆繁冗的state/props/接口数据接口是一个很头疼的问题. 虽然实践中产生了诸如Mock数据/分层处理/强制编写注释等方案, 但这些方案都属于治标不治本. 但这个问题, 如果使用TS的类型声明的话, 就可以很容易的解决.

而在babel7中, facebook官方推出了babel版的ts转换工具, 其实现思路为: 1. 将TS分解为类型声明+JavaScript 2. 移除类型声明 3.正常编译JavaScript.

换句话说, 由于JS不需要学习, 前端只要掌握TS中类型声明的方法, 就可以正常接入TS. 而且 100%兼容旧代码.

实际上, 这也是create-react-app中实际采用的方案(利用tsc对ts代码进行静态类型检测, 使用babel进行代码转换)

所以, 如果在业务方中只推广TS的类型提示功能的话, 可以很轻松的引导业务方迁移到TS生态 =>

1.升级babel6到babel7

2.安装babel-plugin-transform-typescript, 配置babelrc

3.在项目中添加tsconfig.json

4.将后缀名由js改为ts

5.在代码中添加类型声明, 搞定