TypeScript@3.4.1配置tsconfig支持Promise不生效如何解决?

这是我的配置文件,我在lib中配置了es2015.promise,但是打包后并没有支持promise的扩展,虽然我现在已经有了解决方案,通过引入core-js的扩展来支持它,但我还是想请教下我这份配置不生效的原因是什么?
(打包过程无报错)

tsconfig.js:
图片描述

测试代码:
图片描述

webpack配置:
图片描述

阅读 3.5k
2 个回答

自问自答下:
tsconfig.js的配置里es2015.promise只是d.ts的类型声明文件,实际还是要配合core-js引入对应模块来实现的
直接声明es2015.promise并不会让你的项目支持promise!!!

这个问题,是目前两种转码都有的问题,babel : ESnext/ES6 =>ES5; TS: TS=>ES5
转码只能转语法,也就是说,一些新的语言规范可以转换成es5 的写法,api用另一种方案polyfill来实现兼容低版本, 新api 是浏览器没有支持,通用的方法是polyfill 给浏览器打补丁。
你可以实验一下,不只是primose , 数组的新api 如 includes如果不引入core.js也是不能用的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题