我有Groceries应用程序(NativeScript / Angular2),然后决定用ServiceStack后端调用替换一些服务调用。
所以,我按照ServiceStack.net上的一些说明进行了操作。 VSCode似乎很高兴,但当我tns run android
时,我得到了:
找到对等TypeScript 2.2.2
node_modules / servicestack-client / src / index.d.ts(245,11):错误TS2304:找不到名称“RequestMode”。
node_modules / servicestack-client / src / index.d.ts(246,18):错误TS2304:找不到名称“RequestCredentials”。
我一直在寻找这是关于什么的,但还没有得到一个明确的答案。令我困惑的是这条线我也看到了:
找到对等TypeScript 2.2.2
我怀疑它与TypeScript的版本有关,正如我读到的那样:
W3C提取定义内置于TypeScript 2.3+中,如果使用旧版本的TypeScript,则可以安装它们:
npm install --save-dev @ types / whatwg-fetch
让事情变得更糟:
这是我的package.json:
{
"description": "NativeScript Application",
"license": "SEE LICENSE IN <your-license-filename>",
"readme": "NativeScript Application",
"repository": "<fill-your-repository-here>",
"nativescript": {
"id": "org.nativescript.Groceries",
"tns-android": {
"version": "3.4.1"
}
},
"dependencies": {
"@angular/animations": "~4.0.0",
"@angular/common": "~4.0.0",
"@angular/compiler": "~4.0.0",
"@angular/core": "~4.0.0",
"@angular/forms": "~4.0.0",
"@angular/http": "~4.0.0",
"@angular/platform-browser": "~4.0.0",
"@angular/platform-browser-dynamic": "~4.0.0",
"@angular/router": "~4.0.0",
"email-validator": "^1.1.1",
"nativescript-angular": "~3.0.0",
"nativescript-social-share": "^1.5.0",
"nativescript-theme-core": "~1.0.4",
"reflect-metadata": "~0.1.8",
"rxjs": "~5.2.0",
"servicestack-client": "0.0.42",
"tns-core-modules": "~3.0.0",
"zone.js": "0.8.2"
},
"devDependencies": {
"@types/whatwg-fetch": "0.0.33",
"babel-traverse": "6.4.5",
"babel-types": "6.4.5",
"babylon": "6.4.5",
"lazy": "1.0.11",
"nativescript-dev-android-snapshot": "^0.*.*",
"nativescript-dev-typescript": "^0.4.0",
"typescript": "~2.2.1"
}
}
和tsconfig.json
:
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noEmitHelpers": true,
"noEmitOnError": true,
"lib": [
"es6",
"dom",
"es2015.iterable"
],
"baseUrl": ".",
"paths": {
"*": [
"./node_modules/tns-core-modules/*",
"./node_modules/*"
]
}
},
"exclude": [
"node_modules",
"platforms",
"**/*.aot.ts"
]
}
所以,现在,我不确定我安装的是什么或我的模块/包的状态是什么,但我不知道如何解决这个问题。
更新
刚刚发生了一件非常奇怪的事:
1)我已经将node_modules
从我的Groceries文件夹中复制出来(进入父文件夹)并完成npm install
但它没有帮助
2)然后我GIT克隆了Groceries app一个新的文件夹
3)然后我注意到新的git克隆使用了旧的,复制的node_modules,即使在app文件夹中也没有(它在父文件夹中)
4)删除父文件夹中的node_modules后,Groceries的git clone版本开始工作了!
无论如何,我该如何解决这些错误?