关于前端:放弃tsc作为typescript项目的编译工具

32次阅读

共计 466 个字符,预计需要花费 2 分钟才能阅读完成。

我的项目很小,实现一个通用性能类库,尝试应用 typescript 编写。预期输入后果同时反对 CJS, ESM, <script> reference 三种形式的应用 (应用 umd 模块输入),
本来是想用 typescript 官网的 tsc 作为编译工具,最终放弃。

在 tsconfig.js 中配置了
compilerOptions.module = “umd”;

查看编译产物,发现编译产物中,没有全局变量的增加,这样对通过 <script src=”path/to/file.js”> 援用的形式来说,根本无法应用编译产物。

注:
全局变量的增加
形如 global.exportName = factory()

拿一个 rollup 编译的 umd 产物来看,如下图

比照一下 tsc 的 umd 产物

tsc 的 umd 编译产物短少了给全局命名空间挂载变量的操作。

下面这个问题在 2016 年就被提了 issue
https://github.com/microsoft/…
当初是 2022 年 6 月,issue 仍然是 open 状态,这个问题无解。

至此,曾经放弃了用 tsc 作为我的项目编译器的想法,拜拜了 tsc。

正文完
 0