Не удается найти имя "PropertyKey"

Я пытаюсь запустить Webpack в проекте, и я получаю несколько ошибок

node_modules/@types/core-js/index.d.ts
error TS2304: Cannot find name 'PropertyKey'.
...
node_modules/@types/core-js/index.d.ts
error TS2339: Property 'for' does not exist on type 'SymbolConstructor'.

У меня должно быть все мои типизации, поэтому я не уверен, откуда они взялись. Я попытался скопировать пакет package.json из компилируемого проекта, но это не помогло. Что мне не хватает?

Мой tsconfig выглядит следующим образом

{
  "compilerOptions": {
    "target": "es5",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "sourceMap": true,
    "noImplicitAny": false,
    "suppressImplicitAnyIndexErrors": true
  },
  "include": [
    "src/**/*"
  ],
  "exclude": [
    "node_modules",
    "**/*.spec.ts"
  ]
}

Ответы

Ответ 1

Я получаю такие же ошибки с @types/core-js в 0.9.35

Может быть что-то еще..

ИЗМЕНИТЬ

На прошлой неделе произошли некоторые изменения в репо. Вы можете прочитать вопрос о github и просмотреть изменения через эти ссылки:

https://github.com/DefinitelyTyped/DefinitelyTyped/issues/15104

https://github.com/DefinitelyTyped/DefinitelyTyped/pull/15108/commits/f2c5c990e448550fcebec071c25e6a1e5766dde7

Моим решением было изменить

"lib": ["es5", "dom"] до "lib": ["es6", "dom"] в объекте compilerOptions в моих файлах tsconfig.

Сделав это, я устранил ошибки без понижения до 0.9.35

Примечание. Вам не нужно менять цель (мой все еще es5)

Ответ 2

Для меня ответ был...

"compilerOptions": {
  ...
  "lib": [
    "es2016",
    "dom"
  ]
},

Ответ 3

понизите ваш @types/core-js до 0.9.35.

У меня была такая же проблема после обновления до 0.9.37.

Ответ 4

Может подтвердить, что загрузка версии 0.9.35 исправлена ​​для меня.

"devDependencies": {
    ...
    "@types/core-js": "0.9.35",
    ...
}

Ответ 5

Превышено значение "@types/core-js": "^ 0.9.35" и добавлено lib к моим параметрам compilerOptions.

"devDependencies": {
    "@types/core-js": "^0.9.35",
    ......
}

tsconfig.json

{
"compilerOptions": {
    ........
    "lib": [
        "es2016",
        "dom"
    ]
},
"exclude": [
    "node_modules",
    ...
]
}

Ответ 6

Я решил проблему, добавив этот код в tsconfig.json

{ "compilerOptions": {

"experimentalDecorators": true,
"moduleResolution": "node",
  "lib": ["es2017", "dom"] //Please add this code in your tsconfig.json

},   "исключить": [         "node_modules"    ] }