angularjs - Eroare: Eșec la depanare. Expresie falsă: Nod neașteptat la actualizarea TypeScript la 2.1.1
când actualizez TypeScript de la 2.0.3 la 2.1.1, apar erori:
[at-loader] Using [email from typescript and "tsconfig.json" from /Users/zhouweiming/data/project/iermu_opssite/src/tsconfig.json
/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:59508
throw e;
^
Error: Debug Failure. False expression: Unexpected node.
Verbose Debug Information: Node 94 (NullKeyword) was unexpected.
at Object.assert (/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:3001:23)
at Object.Debug.failBadSyntaxKind (/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:42746:55)
at serializeTypeNode (/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:44666:30)
at serializeTypeNode (/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:44637:56)
at serializeTypeOfNode (/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:44498:28)
at serializeParameterTypesOfNode (/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:44550:42)
at addOldTypeMetadata (/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:44425:136)
at addTypeMetadata (/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:44416:17)
at transformAllDecoratorsOfDeclaration (/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:44241:13)
at generateConstructorDecorationExpression (/Users/zhouweiming/data/project/iermu_opssite/src/node_modules/[email /lib/typescript.js:44351:40)
tsconfig.json:
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"inlineSources": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false,
"suppressImplicitAnyIndexErrors": true,
"lib": ["dom", "es6", "es2015"],
"rootDirs": ["./"],
"skipLibCheck": true,
"strictNullChecks": false,
"noUnusedParameters": false,
"noUnusedLocals": false,
"typeRoots": [
"./node_modules/@types"
]
},
"files": [
"./public/*"
],
"compileOnSave": true,
"exclude": [
"node_modules/*",
"config/helpers.js",
"config/webpack.common.js",
"config/webpack.dev.js",
"config/webpack.prod.js",
"webpack.config.js",
"gulpfile.js"
]
}
alt mediu:
- webpack: 1.13.3
- nod: 7.2.0
- angular: 2.2.4
- awesome-typescript-loader: 3.0.0-beta.9
și în proiectul meu, când folosesc @Injectable() înainte de definiția clasei, vscode afișează eroare:
[ts] Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.
când elimin decoratoriul @Injectable() din toate codurile mele, toate erorile dispar la compilarea proiectului meu, dar rularea eșuează în browser, deoarece injectarea modulului eșuează.