首页 > 解决方案 > 转译到 ie 11 fetch 不是未定义的

问题描述

我只是在玩打字稿,它正在编译。大多数东西都启动并运行,但对于获取,我只是无法让它被转译。我读了很多关于它说我需要承诺模块/类型。在这里尝试了几个类似的问题,但没有成功。

这是我的 tsconfing.json:

{
    "compilerOptions": {
        "target": "es5",
        "lib": ["dom","es2017"]
    }
}

我错过了什么?

多谢你们。

标签: javascripttypescriptinternet-explorer-11ecmascript-5

解决方案


我想到了。

通过安装whatwg-fetch 和promise,将它们导入到ts 文件,转译,然后用webpack 打包。如果有人可以进一步帮助如何仅使用打字稿达到类似的结果,我将非常高兴。

谢谢你。

编辑:为了让事情变得更容易,您可以使用 typescript 和两个 polyfill(任何 fetch/promise polyfill 都可以)模块。之后在 ts 文件中导入:

import 'whatwg-fetch'
import 'Promise'

转换您的 ts 文件,然后您可以使用 webpack 将所有内容粘合在一起,或者您可以像我一样在 html 文件中使用 cdn。

https://cdn.jsdelivr.net/npm/whatwg-fetch@3.0.0/dist/fetch.umd.min.js https://cdn.jsdelivr.net/npm/promise@8.0.3/index.min .js

就这些了。

tsconfig.js:

{
    "compilerOptions": {
        "target": "es5",
        "lib": ["dom","es2017"]
    }
}

使用的 npm 依赖项:

  "devDependencies": {
    "promise": "^8.0.3",
    "whatwg-fetch": "^3.0.0"
  }

推荐阅读