我在我的代码中使用ESNEXT
(截至2021年)replaceAll
的Typescript,因为它比使用regexp更清晰。
我正在编译到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,但不做填充(运行时api)。
你可以使用core-js。将以下内容添加到应用程序入口点:
import 'core-js'; // <- at the top of your entry point
<标题>更多h1>标题>