转换 React 项目时在 Typescript 中调试失败



我正在尝试将现有的大量React项目转换为TypeScript。

我有webpack2.7.0、ts-loader3.5.0、typescript2.9.2、source-map-loader0.2.3,以及用于reactreact-dom的类型声明文件。

这是我的tsconfig.json

{
"compilerOptions": {
"outDir": "./dist/", // path to output directory
"sourceMap": true, // allow sourcemap support
"strictNullChecks": true, // enable strict null checks as a best practice
"module": "es6", // specify module code generation
"jsx": "react", // use typescript to transpile jsx to js
"target": "es5", // specify which target of JavaScript should be emitted from the given TypeScript
"allowJs": true // allow a partial TypeScript and JavaScript codebase
},
"include": [
"./src/"
]
}

这是我的一些webpack.config.js

module: {
rules: [
{
test: /.(t|j)sx?$/,
exclude: /node_modules/,
loader: 'ts-loader'
},
{ enforce: "pre", test: /.js$/, loader: "source-map-loader" },
...other stuff for css-loader and url-loader

当我运行npm start时,我得到:

ERROR in ./src/app/index.js
Module build failed: Error: Debug Failure. False expression.
at getJSDocTags (C:Pathtonodemodulestypescriptlibtypescript.js:13197:22)
at getFirstJSDocTag (C:Pathtonodemodulestypescriptlibtypescript.js:13205:24)
at Object.getJSDocType (C:Pathtonodemodulestypescriptlibtypescript.js:13173:19)
at getContextualSignature (C:Pathtonodemodulestypescriptlibtypescript.js:41002:32)
at checkFunctionExpressionOrObjectLiteralMethod (C:Pathtonodemodulestypescriptlibtypescript.js:44621:43)
at checkExpressionWorker (C:Pathtonodemodulestypescriptlibtypescript.js:45681:28)
at checkExpression (C:Pathtonodemodulestypescriptlibtypescript.js:45609:42)
at checkExpressionCached (C:Pathtonodemodulestypescriptlibtypescript.js:45457:38)
at getWidenedTypeFromJSSpecialPropertyDeclarations (C:Pathtonodemodulestypescriptlibtypescript.js:30757:46)
at getTypeOfVariableOrParameterOrProperty (C:Pathtonodemodulestypescriptlibtypescript.js:31032:28)
at getTypeOfSymbol (C:Pathtonodemodulestypescriptlibtypescript.js:31242:24)
at checkPropertyAccessExpressionOrQualifiedName (C:Pathtonodemodulestypescriptlibtypescript.js:42338:53)
at checkPropertyAccessExpression (C:Pathtonodemodulestypescriptlibtypescript.js:42293:20)
at checkExpressionWorker (C:Pathtonodemodulestypescriptlibtypescript.js:45663:28)
at checkExpression (C:Pathtonodemodulestypescriptlibtypescript.js:45609:42)
at checkBinaryLikeExpression (C:Pathtonodemodulestypescriptlibtypescript.js:45155:29)
@ multi (webpack)-dev-server/client?http://0.0.0.0:8080 webpack/hot/dev-server ./src/app/index.js

这个版本在开始我的 TypeScript 迁移之前有效,但现在不是了。我没有任何tstsx文件。一切都只是js/jsx.

任何帮助将不胜感激。

我刚才遇到了完全相同的问题,找不到任何文档来帮助我。它看起来像 2.9 中的打字稿错误。

尝试升级typescript@next(截至今天是 3.0.0-dev.20180703(。这让我越过了界限!

最新更新