打字稿更新 2.3.4 => 2.4.2 后出现编译错误 "Cannot find type definition file for 'reflect-metadata'."
After typescript update 2.3.4 => 2.4.2 i get compilation error "Cannot find type definition file for 'reflect-metadata'."
我有一个用 TypeScript 编写的 React / Mobex 应用程序,由 Webpack 1 构建。将 TypeScript 版本从 2.3.4 更新到 2.4.2 后,我收到一个错误
ERROR in C:\myproject\tsconfig.json
error TS2688: Cannot find type definition file for 'reflect-metadata'.
我也试过Typescript 2.7.2,同样的错误。我已经尝试在 "paths"
中明确提供其类型的路径,尝试安装最新版本的 'reflect-metadata'
,包括全局 - 仍然是相同的错误。
tsconfig.json
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"jsx": "react",
"lib": ["dom", "es2015.promise", "es6"],
"module": "commonjs",
"moduleResolution": "node",
"noImplicitAny": true,
//"noUnusedLocals": true,
"noUnusedParameters": true,
"outDir": "./dist/",
"sourceMap": true,
"suppressImplicitAnyIndexErrors": true,
"target": "es5",
"types": ["reflect-metadata"],
"baseUrl": ".",
"paths": {
"react-split-pane": ["./type_fixes/react-split-pane/index.d.ts"],
"react-dropzone": ["./type_fixes/react-dropzone/index.d.ts"],
"react-bootstrap-toggle": ["./type_fixes/react-bootstrap-toggle/index.d.ts"]
}
},
"include": [
"./src/**/*",
"./index.tsx",
"./declarations.d.ts"
],
"exclude": [
"node_modules"
]
}
package.json
"dependencies": {
//...
"reflect-metadata": "0.1.10",
//...
},
"devDependencies": {
//...
"typescript": "2.4.2",
//...
},
尝试从 types
部分删除 reflect-metadata
。您可以像往常一样导入它:
import 'reflect-metadata'; // Just import to make visible Reflect
Reflect.defineMetadata(...)
仅供参考,在不导入 reflect-metadata 时尝试解决相同的错误消息:)
npm i --save-dev @types/reflect-metadata
即使安装消息说类型包含在 reflect-metadata 包中,也已解决。
我有一个用 TypeScript 编写的 React / Mobex 应用程序,由 Webpack 1 构建。将 TypeScript 版本从 2.3.4 更新到 2.4.2 后,我收到一个错误
ERROR in C:\myproject\tsconfig.json
error TS2688: Cannot find type definition file for 'reflect-metadata'.
我也试过Typescript 2.7.2,同样的错误。我已经尝试在 "paths"
中明确提供其类型的路径,尝试安装最新版本的 'reflect-metadata'
,包括全局 - 仍然是相同的错误。
tsconfig.json
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"jsx": "react",
"lib": ["dom", "es2015.promise", "es6"],
"module": "commonjs",
"moduleResolution": "node",
"noImplicitAny": true,
//"noUnusedLocals": true,
"noUnusedParameters": true,
"outDir": "./dist/",
"sourceMap": true,
"suppressImplicitAnyIndexErrors": true,
"target": "es5",
"types": ["reflect-metadata"],
"baseUrl": ".",
"paths": {
"react-split-pane": ["./type_fixes/react-split-pane/index.d.ts"],
"react-dropzone": ["./type_fixes/react-dropzone/index.d.ts"],
"react-bootstrap-toggle": ["./type_fixes/react-bootstrap-toggle/index.d.ts"]
}
},
"include": [
"./src/**/*",
"./index.tsx",
"./declarations.d.ts"
],
"exclude": [
"node_modules"
]
}
package.json
"dependencies": {
//...
"reflect-metadata": "0.1.10",
//...
},
"devDependencies": {
//...
"typescript": "2.4.2",
//...
},
尝试从 types
部分删除 reflect-metadata
。您可以像往常一样导入它:
import 'reflect-metadata'; // Just import to make visible Reflect
Reflect.defineMetadata(...)
仅供参考,在不导入 reflect-metadata 时尝试解决相同的错误消息:)
npm i --save-dev @types/reflect-metadata
即使安装消息说类型包含在 reflect-metadata 包中,也已解决。