typescript 利用动态导入会将`.at()`添加到代码中,导致错误

a14dhokn  于 2023-03-31  发布在  TypeScript
关注(0)|答案(1)|浏览(107)

下面是我的.tsconfig文件:

{
  "compilerOptions": {
    "target": "es6",
    "baseUrl": "./src",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react",
    "strictNullChecks": false,
    "sourceMap": true,
    "inlineSources": true,
    "sourceRoot": "/"
  },
  "include": ["src"],
  "exclude": ["node_modules"]
}

当我使用动态导入时,方法.at()被添加到结果代码中。因此,不支持此方法的浏览器会抛出错误u.split(...).at is not a function。有没有办法通过调整.tsconfig文件来解决这个问题?

js81xvg6

js81xvg61#

最后,这不是关于利用动态导入本身。外部模块没有被编译到ES6,不知何故,这个问题只是在将代码分成更小的块之后才出现。通过降级该外部模块解决了问题。
应用程序如何在没有代码分割的情况下正常工作仍然是一个谜。

相关问题