Не удается найти имя "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" ]
}