javascript - 创建 React 应用程序未将 abab 模块编译为 ES5 兼容代码,导致 IE11 失败

标签 javascript typescript internet-explorer webpack ecmascript-5

有谁知道为什么使用 TS 并配置为生成 ES5 代码的 create-react-app 项目无法在 IE11 上工作,因为“abab”包中的“atob”未编译为符合 es5 的代码:

module.exports = {
  atob, // SCRIPT1003: Expected ':'
  btoa
};

tsconfig.json:

{
  "compilerOptions": {
    "baseUrl": ".",
    "outDir": "build/dist",
    "module": "esnext",
    "target": "es5",
    "lib": ["es6", "dom", "esnext.asynciterable" ],
    "sourceMap": true,
    "allowJs": true,
    "jsx": "react",
    "moduleResolution": "node",
    "rootDir": "src",
    "forceConsistentCasingInFileNames": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noImplicitAny": true,
    "strictNullChecks": true,
    "suppressImplicitAnyIndexErrors": true,
    "noUnusedLocals": false,
    "removeComments": false,
    "strict": true,
    "alwaysStrict": true,
    "noUnusedParameters": true,
    "allowSyntheticDefaultImports": true,
    "downlevelIteration": true
  },
  "include": [
  "src/**/*"
  ],
  "exclude": [
    "build",
    "node_modules"
  ]
}

> npm ls abab

project@0.1.0 E:\project
-- jest@22.4.2
  -- jest-cli@22.4.4
    -- jest-environment-jsdom@22.4.3
      -- jsdom@11.12.0
        -- abab@2.0.0  deduped
    -- jest-runner@22.4.4
      -- jest-config@22.4.4
        -- jest-environment-jsdom@22.4.3
          -- jsdom@11.12.0
            -- abab@2.0.0  deduped
-- jsdom@12.0.0
  -- abab@2.0.0
    -- data-urls@1.0.1
      -- abab@2.0.0  deduped

编辑:

webpack 配置可以在这里找到:https://gist.github.com/JacobPozaic/ed1357efc20b9eb4752eaecbc3340fe4

编辑 2:问题不是 webpack 或 atob,而是 abab 导致了问题,并且该项目的构建声称在其他地方完全存在语法错误。

最佳答案

此问题已通过删除 DOMPurify 的使用得到解决,DOMPurify 需要 JSDOM,而 JSDOM 需要 abab 包。

关于javascript - 创建 React 应用程序未将 abab 模块编译为 ES5 兼容代码,导致 IE11 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52935813/

相关文章:

typescript - for-in语句

javascript - 从 TypeScript 定义文件生成其他 JS "compilers"的定义?

javascript - 使用 Javascript 更改 iframe src

javascript - 当 css 媒体屏幕查询启动时,是否有要捕获的浏览器事件?

typescript - 收集装饰类(没有注册类)

css - Bootstrap 中的条纹颜色覆盖不适用于 I.E. 8个

html - CSS - 将 body 标签内的所有内容居中

javascript - 我可以强制在特定浏览器中打开链接吗?

javascript - 使用jquery替换/操作html字符串中的元素

javascript - 是否可以禁用自动完成?