这是我的配置文件,我在lib中配置了es2015.promise,但是打包后并没有支持promise的扩展,虽然我现在已经有了解决方案,通过引入core-js的扩展来支持它,但我还是想请教下我这份配置不生效的原因是什么?
(打包过程无报错)
tsconfig.js:
测试代码:
webpack配置:
这是我的配置文件,我在lib中配置了es2015.promise,但是打包后并没有支持promise的扩展,虽然我现在已经有了解决方案,通过引入core-js的扩展来支持它,但我还是想请教下我这份配置不生效的原因是什么?
(打包过程无报错)
tsconfig.js:
测试代码:
webpack配置:
这个问题,是目前两种转码都有的问题,babel : ESnext/ES6 =>ES5; TS: TS=>ES5
转码只能转语法,也就是说,一些新的语言规范可以转换成es5 的写法,api用另一种方案polyfill来实现兼容低版本, 新api 是浏览器没有支持,通用的方法是polyfill 给浏览器打补丁。
你可以实验一下,不只是primose , 数组的新api 如 includes如果不引入core.js也是不能用的。
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
自问自答下:
tsconfig.js的配置里es2015.promise只是d.ts的类型声明文件,实际还是要配合core-js引入对应模块来实现的
直接声明es2015.promise并不会让你的项目支持promise!!!