运行以下代码时出现此错误
let foo = ' foo '
console.log(foo.trimLeft())
//foo.trimStart() works neither
我知道互联网上的大多数解决方案都说,我必须修复tsconfig.json
才能包含es20。
有趣的是,我可以使用es2018之类的Promise.prototype.finally和rest spread等。VSCode也会自动为我完成trimStart()
,这很奇怪,因为项目和编辑器应使用相同的{ {1}}。
但是这段特定的代码无法编译。
这是我的tsconfig.json
tsconfig.json
我正在monorepo angular文件夹中运行它(如您在上面看到的)。 也许有一个问题,我不知道。
答案 0 :(得分:2)
将打字稿库更新为“打字稿”:“〜3.6.2”。在tsconfig.json lib的数组中包含“ es2019”。它将起作用。
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"es2019",
"dom"
]
答案 1 :(得分:1)
包括库"es2019.string"
。如果没有此类库,请更新您的Typescript副本。当问这个问题时,它是相当新的并且不存在。
答案 2 :(得分:0)
我认为es2018无法正常工作。尝试将其更改为“ es2016”
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"baseUrl": "./",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": ["node_modules/@types"],
"lib": ["es2016", "dom"],
"plugins": [
{
"name": "tslint-language-service",
"configFile": "./tslint.json"
}
],
"paths": {
"foo": ["projects/foo/src/public_api.ts"],
"bar": ["projects/bar/src/public_api.ts"],
"baz": ["dist/baz"]
}
}
}