我已将angular2更新为当前版本,但我收到以下错误:似乎茉莉索引文件中存在问题。
[默认]中的错误C:\ src \ Angular2 \ BuyPracticeTest_AV4 \ node_modules \ @types \ jasmine \ index.d.ts:40:37 参数初始值设定项仅允许在函数或构造函数实现中使用。
错误在[默认] C:\ src \ Angular2 \ BuyPracticeTest_AV4 \ node_modules \ @types \ jasmine \ index.d.ts:40:45 找不到名称' keyof'。
[默认]中的错误C:\ src \ Angular2 \ BuyPracticeTest_AV4 \ node_modules \ @types \ jasmine \ index.d.ts:40:51 ' ='预期
[默认]中的错误C:\ src \ Angular2 \ BuyPracticeTest_AV4 \ node_modules \ @types \ jasmine \ index.d.ts:42:45 参数初始值设定项仅允许在函数或构造函数实现中使用。
[默认]中的错误C:\ src \ Angular2 \ BuyPracticeTest_AV4 \ node_modules \ @types \ jasmine \ index.d.ts:42:55 找不到名称' keyof'。
[默认]中的错误C:\ src \ Angular2 \ BuyPracticeTest_AV4 \ node_modules \ @types \ jasmine \ index.d.ts:42:61 ' ='预期
[默认]中的错误C:\ src \ Angular2 \ BuyPracticeTest_AV4 \ node_modules \ @types \ jasmine \ index.d.ts:58:41 找不到姓名'部分'。
[默认]中的错误C:\ src \ Angular2 \ BuyPracticeTest_AV4 \ node_modules \ @types \ jasmine \ index.d.ts:99:21 找不到姓名'部分'。
[默认]中的错误C:\ src \ Angular2 \ BuyPracticeTest_AV4 \ node_modules \ @types \ jasmine \ index.d.ts:99:34 找不到姓名'部分'。
这是我的package.json文件:
{
"name": "buy-practice-test",
"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.4.10",
"@angular/compiler": "^2.4.10",
"@angular/core": "^2.4.10",
"@angular/forms": "^2.4.10",
"@angular/http": "^2.4.10",
"@angular/platform-browser": "^2.4.10",
"@angular/platform-browser-dynamic": "^2.4.10",
"@angular/router": "^3.4.10",
"angular2-datatable": "^0.5.3",
"core-js": "^2.4.1",
"ng2-pagination": "^0.5.1",
"ng2-table": "^1.3.2",
"rxjs": "5.0.0-beta.12",
"ts-helpers": "^1.1.1",
"zone.js": "^0.6.23"
},
"devDependencies": {
"@types/jasmine": "^2.5.47",
"@types/node": "^6.0.68",
"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"
}
}
答案 0 :(得分:1)
keyof
在Typescript 2.1中引入,在你的package.json中我看到了Typescript 2.0.3。
不幸的是,@ angular-cli / ast-tools @ 1.0.16依赖于typescript 2.0.10,因此您可能无法升级到最新的打字稿版本(2.2.2)。但是,您可以降级茉莉花或@ types / jasmine。
我建议您以较小的步骤升级。即使用npm outdated
根据所有依赖项查看可以升级到的版本。一次升级几个库 - 定期检查以确保没有损坏任何东西。在升级完所有内容之后,将@angular升级到4.0。