tsc编译到es3

一次,CD部署时WEB项目打包的TS最终编译为了ES3,而ES3下的JS代码最终导致了白屏。

事故直接原因

项目下的业务组件库没有执行TSC配置的target,而我司封装的构建打包工具在进行编译打包时,会优先使用找到的第一个TSconfig配置,于是主项目的ES5被忽视,而业务组件库又因为没有配置target,最终执行了缺省的TS target配置值-ES3。

要知道TS只是进行语法编译,并不进行polyfill。

解决

  1. 对于开发的组件库包等进行TS编译后发版,这样一方面可以提升项目打包速度,毕竟组件库包已经提前编译,另一方面是组件库不受主项目打包编译影响。

写在最后

mark