Cleants 帮助你做一件勇敢的事情——逆行在技术的高速公路上。如果你厌倦了过度复杂化的开发,渴望回归简洁的 JavaScript 世界,那么 Cleants 就是为你准备的工具。它可以让你在现代 TypeScript 项目中时光倒流,回到更简洁、更直接的 JavaScript 。
Cleants 代表“Clean TypeScript to JavaScript conversion”,是一款快速将 TypeScript 转换为 JavaScript 的工具。它不仅支持 Vue 项目,还提供插件系统扩展功能,并保持极致的转换速度。
ts.transpileModule
编译,飞快地完成转换。只需运行以下命令:
npx cleants
如果你想在项目中集成 Cleants ,可以这样用:
import { Cleants } from 'cleants'
const cleaner = new Cleants('输入目录', '输出目录', options)
await cleaner.run()
Cleants
类这个类是 Cleants 的核心,负责将 TypeScript 转换为 JavaScript 。
constructor(inputDir: string, outputDir: string, options?: CleantsOptions)
compilerOptions
**:TypeScript 编译选项,默认为 {}
。ignoredCopyPatterns
**:忽略复制的文件,默认为 ['node_modules', '.git', 'dist', /\.d\.ts$/]
。removeDependencies
**:移除依赖,默认为 ['typescript', 'vue-tsc']
。replaceInternalImports
**:是否替换内部导入,默认为 true
。Cleants 让你在纷繁复杂的现代技术栈中“刹一脚”,回归到简单、直接的 JavaScript 开发方式。无论你是追求速度、简洁,还是只是想嘲笑一下自己“开历史的倒车”,Cleants 都是不错的选择,哈哈。
想了解更多,请访问项目地址:Cleants GitHub.
1
GeekGao 73 天前 2
我突然笑出声了。 但不是在嘲笑 OP ,就是发自内心的笑出声
|
2
coolfan 73 天前
|
3
zhlxsh 73 天前 via iPhone
利好前端
|
4
chairuosen 73 天前
搞个大新闻
|
5
foolishcrab 73 天前 via iPhone
去 ts 又不是什么小众选择,特别框架类项目 jsdoc 比 ts 好太多了。
有些人在这里阴阳怪气殊不知自己井底之蛙。 还是要多学习一个,或者上推跟 dhh 吵两句 |
6
majula 73 天前
还在用 Vue 、JavaScript 和 NPM ,不够开倒车
我上家公司(某传统行业 500 强,算是半个科技巨头)做的前端,页面是纯手撸的静态 HTML+CSS ,有返回动态数据的都是后端用 Perl 脚本拼接的 HTML ,然后走 FastCGI 传回前端。接受用户输入也全靠表单,完全不用 JavaScript 更重要的是,我查看了一下代码的提交记录,都是近两年写的,并非远古遗留的代码 |
7
nagisaushio 73 天前
你还真别说,前阵子在 HN 看到一个项目 ts-blank-space ,实现了一个快速的 ts -> js 的编译器。它通过把 ts 的类型替换成等长的空格,将 ts 源码转成 js ,这样同时还有一个好处,即报错的行列位和 ts 源码是对的上的。
https://bloomberg.github.io/ts-blank-space/ https://news.ycombinator.com/item?id=41601250 |
9
viarotel OP @nagisaushio 有意思的项目,我后续研究一下,感谢分享
|
11
viarotel OP @foolishcrab 感谢支持⬆️
|
13
viarotel OP @chairuosen 连个浪花都没得
|
16
kk2syc 73 天前
@majula 传统行业更明白技术稳定的重要性,只有互联网的那些“自以为是”的 PPT 人会不断讨论所谓的“赛道”,发明一个又一个可笑的名词。<参考影视飓风被下架的视频,因为 tim 说了实话,影响 PPT 二极管们给投资人洗脑,被集体下架>
|
17
nomagick 73 天前
。。。缓慢打出一个问号 ❓
|
19
shunia 73 天前 2
用 ts 有什么炫技的成分在?不是很懂。
那对比 html 、jQuery ,用 vue 是不是炫技? 对比下载三方库直接引入 html ,使用 node_modules 是不是炫技? 一项技术而已,你可以选择学不学,用不用。 但是质疑一个基本原理,认为 ts 不能提高效率,甚至觉得是炫技,有点无厘头。 ts 有降低效率的时候,那就是你要设计非常复杂的类型系统的时候. 但是同时可以参考: https://github.com/Effect-TS/effect ,它编写了及其复杂的类型系统,但是产品提供的特性却恰好相反,可以让用户在使用的时候简化心智负担。 |
21
viarotel OP @shunia 你说的没有一点问题,我没有质疑 ts 带来的价值,也许我的描述有些过激,我只是觉得并不是所有的项目或情况都适合使用它,特别是团队人员水平参差不齐的情况下,也不是所有人都能进大厂,总有些挣扎在温饱线上的打工人,他们不在乎代码写的好不好,规不规范,他们只想早点下班,萝卜青菜各有所爱,不是吗?
|
22
shunia 72 天前
@viarotel #21 我没有在争论的意思,你的分享也是一种创造,我给你点赞,这点请先理解。
但是我觉得你说的那句话有误导的成分,所以我才比较严肃的提出问题。 最后你 21L 的回复我觉得有点走的更偏了。 首先用不用 ts 和大厂毫无关系,因为我一路走过来都是小厂,团队里面也参差不齐,大家也都需要温饱,也有人写代码不遵循规范,但是没有人质疑过 ts 。什么东西好什么东西不好,这是作为一个专业人员的基本素养。和电工一摸电线就知道有没有电一样😂 其次大家都想早点下班,就我的经验来看,同样的代码用 ts 写绝对比用 js 写,能让我早下班。不管是我写的还是别人写的: 比如 react 的源代码是用 js 写的,我想搞清楚它其中的一部分代码的运行原理,就一定比同样用 ts 写出来的慢。原因很简单,不管是谁,写 js 代码的时候,都不可避免的会上各种黑魔法,尤其是往任何变量上直接附加额外的数据或者逻辑,甚至是改变原有的指向,而且喜欢隐藏在角落里。我最近用过的几个 js 写的库,我都看过了,全都藏着这种黑魔法,想看懂这种代码,一定会耗费更多的精力,因为天知道这坨东西在哪里被覆盖或者重定向了。ts 也不能解决这个问题,但是在遵循规范的前提下,黑魔法是相比 js 写的要更少的。 包括我自己写一些东西,如果用 js 我就会忍不住上魔法,因为确实写起来更爽利。但是对读者和接手的人就及其不友好了。 ts 是前端无数轮子也好、创新也好,我用过的技术种类里,最少操心而且带来最大收益的一个了。日常用下来真的省心又省事,更新了这么多年也没有像 react 一样开倒车,也没有像 vue 一样弄出无法平滑迁移的大版本,更没有像 angular 一样不思进取。 - 学习成本足够低,还支持渐进式引入 - 几乎全工具链完美支持,甚至新开的各种 runtime 都在默认支持 - 一本 handbook 能解决日常遇到的绝大部分问题 - 态度也很好,可以各大 bundler 协调主动调整 compilerOptions - 真正的商业级的官方支持 这么优秀的工具,我个人觉得所有 js 人都值得拥有。 |
23
viarotel OP @shunia #22 非常感谢你深度的理解和刨析,我虽然在上述描述中表达我不喜欢 TS ,但是我确实在相当长的时间内去理解和学习了 TS ,但是有一点不会改变,我不喜欢 TS 啰里啰唆的类型体操,这确实是我个人喜好问题,但是我不会阻止别人使用它,我只是提供一个回退选项,仅此而已;最后,即使不喜欢,我仍然会在需要 TS 的场景下的时候使用它;最后的最后,再次感谢你,让我更有 “勇气” 去使用 TS ,哈哈😁
|
24
shakukansp 71 天前
我还嫌 kotlin 的类型没 ts 好用呢
|