Adi*_*lik 5 javascript node.js npm typescript angular
我正在angular2使用构建应用程序angular-cli.angular-in-memory-web-api默认情况下未安装.
所以我搜索了它并"angular-in-memory-web-api": "~0.1.5"在我的package.json文件中添加了这一行.并且做到了npm install.
在此之后,我遇到了这个错误Cannot find type definition file for 'core-js' #90.我在这个Github问题中找到了一个解决方案.
所以我npm install --save @types/core-js按照建议运行了这个命令github-question.现在我面临这个错误.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:21:13
Duplicate identifier 'PropertyKey'.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:85:4
All declarations of 'name' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:145:4
Subsequent variable declarations must have the same type. Variable '[Symbol.unscopables]' must be of type '{ copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: ...', but here has type 'any'.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:262:4
All declarations of 'flags' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:276:4
All declarations of 'EPSILON' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:311:4
All declarations of 'MAX_SAFE_INTEGER' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:318:4
All declarations of 'MIN_SAFE_INTEGER' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:457:4
Subsequent variable declarations must have the same type. Variable '[Symbol.toStringTag]' must be of type '"Symbol"', but here has type 'string'.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:457:4
All declarations of '[Symbol.toStringTag]' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:464:4
All declarations of 'prototype' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:492:4
All declarations of 'hasInstance' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:498:4
All declarations of 'isConcatSpreadable' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:504:4
All declarations of 'iterator' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:510:4
All declarations of 'match' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:516:4
All declarations of 'replace' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:522:4
All declarations of 'search' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:528:4
All declarations of 'species' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:534:4
All declarations of 'split' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:540:4
All declarations of 'toPrimitive' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:546:4
All declarations of 'toStringTag' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:552:4
All declarations of 'unscopables' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:609:4
Subsequent variable declarations must have the same type. Variable '[Symbol.toStringTag]' must be of type '"Math"', but here has type 'string'.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:609:4
All declarations of '[Symbol.toStringTag]' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:613:4
Subsequent variable declarations must have the same type. Variable '[Symbol.toStringTag]' must be of type '"JSON"', but here has type 'string'.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:613:4
All declarations of '[Symbol.toStringTag]' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:628:4
All declarations of 'size' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:634:4
All declarations of 'prototype' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:645:4
All declarations of 'size' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:651:4
All declarations of 'prototype' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:666:4
All declarations of 'prototype' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:680:4
All declarations of 'prototype' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:692:4
All declarations of 'value' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/@types/core-js/index.d.ts:804:4
All declarations of 'prototype' must have identical modifiers.
ERROR in [default] /home/adil/Code/AngularJS.2/cli-based/mz-doc-app/node_modules/typescript/lib/lib.es2015.core.d.ts:17:13
Duplicate identifier 'PropertyKey'.
Run Code Online (Sandbox Code Playgroud)
package.json
{
"name": "mz-doc-app",
"version": "0.0.0",
"license": "MIT",
"angular-cli": {},
"scripts": {
"start": "ng serve",
"lint": "tslint \"src/**/*.ts\"",
"test": "ng test",
"pree2e": "webdriver-manager update",
"e2e": "protractor"
},
"private": true,
"dependencies": {
"@angular/common": "~2.1.0",
"@angular/compiler": "~2.1.0",
"@angular/core": "~2.1.0",
"@angular/forms": "~2.1.0",
"@angular/http": "~2.1.0",
"@angular/material": "^2.0.0-alpha.9-3",
"@angular/platform-browser": "~2.1.0",
"@angular/platform-browser-dynamic": "~2.1.0",
"@angular/router": "~3.1.0",
"@types/core-js": "^0.9.34",
"angular-in-memory-web-api": "~0.1.5",
"core-js": "^2.4.1",
"rxjs": "5.0.0-beta.12",
"ts-helpers": "^1.1.1",
"zone.js": "^0.6.23"
},
"devDependencies": {
"@types/jasmine": "^2.2.30",
"@types/node": "^6.0.42",
"angular-cli": "1.0.0-beta.18",
"codelyzer": "1.0.0-beta.1",
"jasmine-core": "2.4.1",
"jasmine-spec-reporter": "2.5.0",
"karma": "1.2.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-remap-istanbul": "^0.2.1",
"protractor": "4.0.9",
"ts-node": "1.2.1",
"tslint": "3.13.0",
"typescript": "~2.0.3"
}
}
Run Code Online (Sandbox Code Playgroud)
Result-of-tree-command
??? angular-cli.json
??? e2e
??? karma.conf.js
??? mz-doc-app.sublime-project
??? mz-doc-app.sublime-workspace
??? node_modules
??? package.json
??? protractor.conf.js
??? README.md
??? src
??? tslint.json
Run Code Online (Sandbox Code Playgroud)
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"declaration": false,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"module": "commonjs",
"moduleResolution": "node",
"outDir": "../dist/out-tsc-e2e",
"sourceMap": true,
"target": "es5",
"typeRoots": [
"../node_modules/@types"
]
},
"exclude":[
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
Run Code Online (Sandbox Code Playgroud)
请建议一些解决方案?
"target":"es5"因此,我在升级到时遇到了同样的问题"target":"es6"\n我通过升级 tsconfig.json 修复了它:
从
\n\n{\n "compilerOptions": {\n "target": "es6",\n "module": "commonjs",\n "moduleResolution": "node",\n "sourceMap": true,\n "emitDecoratorMetadata": true,\n "experimentalDecorators": true,\n "removeComments": false,\n "noImplicitAny": false\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n到
\n\n{\n "compilerOptions": {\n "target": "es6",\n "lib": ["dom", "es5"],\n "typeRoots": [\n "./node_modules/@types"\n ],\n "module": "commonjs",\n "moduleResolution": "node",\n "sourceMap": true,\n "emitDecoratorMetadata": true,\n "experimentalDecorators": true,\n "removeComments": false,\n "noImplicitAny": false\n },\n "exclude": [\n "node_modules",\n "dist"\n ],\n "compileOnSave": false\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这篇博客文章很有帮助。
\n\n\n\n这是由同一类型定义的多个版本引起的。在 tsconfig.json 中,我们将 es6 作为 lib 数组的一部分,但在 node_modules/@types 中也有 core-js。core-js 中的类型定义与已随 TypeScript 分发的类型定义重叠。为了解决这个问题,我们有两个选择:
\n\n\n
\n- 在compilerOptions\xe2\x80\x99s lib属性中将es6更改为es5。这样\n TypeScript 不会\xe2\x80\x99 包含 ES6 类型定义。
\n- 从 node_modules 中删除 core-js。这样,TypeScript 将仅使用其内部 ES6 类型定义。
\n