问题来源:

  1. vue3.0 + ts 环境
  2. 使用Promise对象

问题原因:

当target为es5时,ts会认为你的ts源码也只使用了es5的api,否则会报错。因为ts只会转换语法,而不会转换或者兼容新的api。如果自己加过兼容的api,比如加过core-js,就不会有问题,可以手动添加es6的lib来让ts认识新的api。比如我配置的是"lib": ["dom", "scripthost", "es5", "es2015.promise", "es2015.core"]。要注意某些文章说的只有一个es2015.promise是不行的,因为es5默认带有"dom", "scripthost", "es5"三个lib,如果改成只有一个就会使得ts编译器不认识es5和dom的api

解决方案

在项目根目录下, 有一个tsconfig.json, 配置一下target和lib就可以了

Logo

前往低代码交流专区

更多推荐