ric*_*cky 4 node.js tsc typescript1.8 typescript-typings
我是 node 和 typescript 的新手,在编译 typescript 项目时遇到了麻烦。我已经阅读了关于 SO 的 serval 帖子,但仍然无法解决我的问题。
有人可以帮我解决这个问题吗?
tsconfig.json:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true,
"noLib": false
},
"files": [
"typings/index.d.ts"
]
}
Run Code Online (Sandbox Code Playgroud)
打字/index.d.ts:
/// <reference path="globals/angular-protractor/index.d.ts" />
/// <reference path="globals/core-js/index.d.ts" />
/// <reference path="globals/jasmine/index.d.ts" />
/// <reference path="globals/koa/index.d.ts" />
/// <reference path="globals/node/index.d.ts" />
/// <reference path="globals/require/index.d.ts" />
/// <reference path="globals/selenium-webdriver/index.d.ts" />
/// <reference path="globals/sequelize/index.d.ts" />
/// <reference path="globals/typescript/index.d.ts" />
Run Code Online (Sandbox Code Playgroud)
报告的错误:
>pats-test-report-client@1.0.0 compile C:\WorkSpace\WeiHao\Git\dev-pats-test-report\server
>typings install && tsc && concurrently
??? angular-protractor (global)
??? core-js (global)
??? jasmine (global)
??? koa (global)
??? node (global)
??? require (global)
??? selenium-webdriver (global)
??? sequelize (global)
??? typescript (global)
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(17,14): error TS2300: Duplicate identifier 'PropertyKey'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(26,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(33,5): error TS2300: Duplicate identifier 'prototype'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(61,5): error TS2300: Duplicate identifier 'hasInstance'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(67,5): error TS2300: Duplicate identifier 'isConcatSpreadable'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(73,5): error TS2300: Duplicate identifier 'iterator'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(79,5): error TS2300: Duplicate identifier 'match'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(85,5): error TS2300: Duplicate identifier 'replace'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(91,5): error TS2300: Duplicate identifier 'search'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(97,5): error TS2300: Duplicate identifier 'species'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(103,5): error TS2300: Duplicate identifier 'split'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(109,5): error TS2300: Duplicate identifier 'toPrimitive'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(115,5): error TS2300: Duplicate identifier 'toStringTag'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(121,5): error TS2300: Duplicate identifier 'unscopables'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(219,5): error TS2300: Duplicate identifier 'name'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(237,5): error TS2300: Duplicate identifier 'EPSILON'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(272,5): error TS2300: Duplicate identifier 'MAX_SAFE_INTEGER'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(279,5): error TS2300: Duplicate identifier 'MIN_SAFE_INTEGER'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(305,5): error TS2300: Duplicate identifier '[Symbol.unscopables]'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(565,5): error TS2300: Duplicate identifier 'done'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(566,5): error TS2300: Duplicate identifier 'value'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(709,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(795,5): error TS2300: Duplicate identifier 'flags'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(823,5): error TS2300: Duplicate identifier 'size'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(833,5): error TS2300: Duplicate identifier 'prototype'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(849,5): error TS2300: Duplicate identifier 'prototype'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(861,5): error TS2300: Duplicate identifier 'size'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(871,5): error TS2300: Duplicate identifier 'prototype'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(886,5): error TS2300: Duplicate identifier 'prototype'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(891,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
../../../../../Users/rick/AppData/Roaming/npm/node_modules/typescript/lib/lib.es6.d.ts(1282,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(3,14): error TS2300: Duplicate identifier 'PropertyKey'.
typings/globals/core-js/index.d.ts(67,5): error TS2300: Duplicate identifier 'name'.
typings/globals/core-js/index.d.ts(127,5): error TS2300: Duplicate identifier '[Symbol.unscopables]'.
typings/globals/core-js/index.d.ts(244,5): error TS2300: Duplicate identifier 'flags'.
typings/globals/core-js/index.d.ts(258,5): error TS2300: Duplicate identifier 'EPSILON'.
typings/globals/core-js/index.d.ts(293,5): error TS2300: Duplicate identifier 'MAX_SAFE_INTEGER'.
typings/globals/core-js/index.d.ts(300,5): error TS2300: Duplicate identifier 'MIN_SAFE_INTEGER'.
typings/globals/core-js/index.d.ts(439,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
typings/globals/core-js/index.d.ts(446,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(474,5): error TS2300: Duplicate identifier 'hasInstance'.
typings/globals/core-js/index.d.ts(480,5): error TS2300: Duplicate identifier 'isConcatSpreadable'.
typings/globals/core-js/index.d.ts(486,5): error TS2300: Duplicate identifier 'iterator'.
typings/globals/core-js/index.d.ts(492,5): error TS2300: Duplicate identifier 'match'.
typings/globals/core-js/index.d.ts(498,5): error TS2300: Duplicate identifier 'replace'.
typings/globals/core-js/index.d.ts(504,5): error TS2300: Duplicate identifier 'search'.
typings/globals/core-js/index.d.ts(510,5): error TS2300: Duplicate identifier 'species'.
typings/globals/core-js/index.d.ts(516,5): error TS2300: Duplicate identifier 'split'.
typings/globals/core-js/index.d.ts(522,5): error TS2300: Duplicate identifier 'toPrimitive'.
typings/globals/core-js/index.d.ts(528,5): error TS2300: Duplicate identifier 'toStringTag'.
typings/globals/core-js/index.d.ts(534,5): error TS2300: Duplicate identifier 'unscopables'.
typings/globals/core-js/index.d.ts(591,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
typings/globals/core-js/index.d.ts(595,5): error TS2300: Duplicate identifier '[Symbol.toStringTag]'.
typings/globals/core-js/index.d.ts(610,5): error TS2300: Duplicate identifier 'size'.
typings/globals/core-js/index.d.ts(616,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(627,5): error TS2300: Duplicate identifier 'size'.
typings/globals/core-js/index.d.ts(633,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(648,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(662,5): error TS2300: Duplicate identifier 'prototype'.
typings/globals/core-js/index.d.ts(673,5): error TS2300: Duplicate identifier 'done'.
typings/globals/core-js/index.d.ts(674,5): error TS2300: Duplicate identifier 'value'.
typings/globals/core-js/index.d.ts(786,5): error TS2300: Duplicate identifier 'prototype'.
Run Code Online (Sandbox Code Playgroud)
我试过将 tsconfig.json 中的“noLib”选项设置为 true。它会导致另一个错误:
> pats-test-report-client@1.0.0 compile C:\WorkSpace\WeiHao\Git\dev-pats-test-report\server
> typings install && tsc && concurrently
??? angular-protractor (global)
??? core-js (global)
??? jasmine (global)
??? koa (global)
??? node (global)
??? require (global)
??? selenium-webdriver (global)
??? sequelize (global)
??? typescript (global)
error TS2318: Cannot find global type 'Boolean'.
error TS2318: Cannot find global type 'IArguments'.
error TS2318: Cannot find global type 'TemplateStringsArray'.
Run Code Online (Sandbox Code Playgroud)
我明白为什么当 noLib 设置为 false 时会报告错误 TS2300。但是不知道为什么当noLib设置为true时会报告错误TS2318。
我在nodejs上做typescript时遇到这个错误。为了解决这个问题,我必须安装 Nodejs 的类型信息:
npm i @types/node
Run Code Online (Sandbox Code Playgroud)
基本上我认为 typescript 不知道你是在浏览器中还是在 Node.js 上,所以默认情况下,它不包含任一平台的类型信息。
小智 5
可能是您的 tsconfig.json 中缺少 es2015。编辑如下:
{
"compilerOptions": {
...
"lib": ["es2015"]
...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3906 次 |
| 最近记录: |