打字稿 replaceAll 未在 es5 中转译
Typescript replaceAll not transpiled in es5
我在我的代码中使用带有 ESNEXT
(截至 2021 年)replaceAll
的 Typescript,因为它比使用正则表达式更清晰。
我正在转译到es5
,但是在dist
文件夹中,在转译后的js代码中,replaceAll
保持原样并且出现TypeError: replaceAll is not a function
错误.
我认为 Typescript 会以与 es5 一起工作的方式将其转化为 es5。为什么不这样做?我该如何解决这个问题?
我的 TS 配置是:
{
"compilerOptions": {
"strict": true,
"target": "es5",
"lib": [
"ES2021"
],
"sourceMap": true,
"outDir": "../dist/server",
"baseUrl": ".",
"resolveJsonModule": true,
"downlevelIteration": true,
"paths": {
"@/*": [
"./*"
]
}
}
}
TypeScript 会将现代 JS 语法 转译为 ES5,但不会执行 polyfilling(运行时 api)。
您可以为此使用 core-js。将以下内容添加到您的应用程序入口点:
import 'core-js'; // <- at the top of your entry point
更多
我在我的代码中使用带有 ESNEXT
(截至 2021 年)replaceAll
的 Typescript,因为它比使用正则表达式更清晰。
我正在转译到es5
,但是在dist
文件夹中,在转译后的js代码中,replaceAll
保持原样并且出现TypeError: replaceAll is not a function
错误.
我认为 Typescript 会以与 es5 一起工作的方式将其转化为 es5。为什么不这样做?我该如何解决这个问题?
我的 TS 配置是:
{
"compilerOptions": {
"strict": true,
"target": "es5",
"lib": [
"ES2021"
],
"sourceMap": true,
"outDir": "../dist/server",
"baseUrl": ".",
"resolveJsonModule": true,
"downlevelIteration": true,
"paths": {
"@/*": [
"./*"
]
}
}
}
TypeScript 会将现代 JS 语法 转译为 ES5,但不会执行 polyfilling(运行时 api)。
您可以为此使用 core-js。将以下内容添加到您的应用程序入口点:
import 'core-js'; // <- at the top of your entry point