ts中使用Promise中不識別問題

問題來源:

  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就能夠了

相關文章
相關標籤/搜索