Свойство trimLeft не существует для типа string.Lib: ["dom", "es2018"] - PullRequest
0 голосов
/ 30 января 2019

Я получаю эту ошибку при запуске следующего кода

let foo = '  foo  '
console.log(foo.trimLeft())
//foo.trimStart() works neither

Я знаю, что большинство решений в Интернете говорят, что я должен исправить свой tsconfig.json, чтобы включить es20, что угодно.

Самое смешное, что я могу использовать es2018, например Promise.prototype.finally, и распространять остальные. VSCode также автоматически завершает trimStart() для меня, что странно, потому что проект и редактор должны использовать одно и то же tsconfig.json.Но этот фрагмент кода не компилируется.

Вот мой tsconfig.json

{
  "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": ["es2018", "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"]
    }
  }
}

Я запускаю его в угловой папке monorepo (как вы можете видеть выше).Возможно, есть проблема с этим, я не знаю.

Ответы [ 2 ]

0 голосов
/ 04 июня 2019

Включить библиотеку "es2019.string".Обновите свою копию Typescript, если такой библиотеки нет.Он довольно новый и не существовал, когда задавался этот вопрос.

0 голосов
/ 30 января 2019

Я не думаю, что 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"]
    }
  }
}
...