Я обновил свой ответ на основе вашего обновленного вопроса и комментария.
На основе вашего package.json
вы пытаетесь создать гибридное мобильное приложение (т. Е. Оно использует Cordova /PhoneGap), который нацелен на iOS с использованием Ionic 3.
Посмотрите на Ionic v3 GitHub repo , похоже, что последняя версия v3 - "3.9.5".И последний из Ionic App Scripts - "3.2.2".
Ionic v3 работает с Angular "5.0.3" и TypeScript "> = 2.4.2 <2.5".Версия в вашем <code>package.json -> «typcript»: «~ 2.6.2» слишком новая для Ionic 3.
Вам также необходимо выбрать версию angularfire2, которая будет работать с Ionic v3 и Angular "5.0.3" .Например: "angularfire2": "5.0.0-rc.6".
Чтобы исправить ошибку TypeScript, попробуйте добавить типы для каждого из методов AuthService, параметров каждого метода и не забудьте добавить возврата также.
Например:
public signInWithEmail(credentials: Credentials) Promise<any> {
return this.afAuth.auth.signInWithEmailAndPassword(credentials.email,
credentials.password);
}
Я построил PWA , используя Ionic 3, Angular 5 и angularfire2 (который использует Firestore, Firebase Storage и FirebaseАвт).И это не легко получить зависимости просто правильно:)
My package.json
:
{
"name": "Brew",
"description": "Brew: The Craft Beer App",
"version": "1.0.0-beta.2",
"author": "Rob Ferguson",
"homepage": "https://craftbeer.org.au",
"private": true,
"scripts": {
"clean": "ionic-app-scripts clean",
"lint": "ionic-app-scripts lint",
"dev": "ionic-app-scripts serve",
"ios:dev": "ionic-app-scripts serve --platform=ios",
"build": "ionic-app-scripts build && npm run ngsw-config && npm run ngsw-copy",
"ios:build": "ionic-app-scripts build --platform=ios && npm run ngsw-config && npm run ngsw-copy",
"test": "ng test --config ./config/karma.conf.js",
"test-ci": "ng test --config ./config/karma.conf.js --watch=false --code-coverage",
"test-coverage": "ng test --config ./config/karma.conf.js --code-coverage",
"e2e": "npm run e2e-update && npm run e2e-test",
"e2e-test": "protractor ./config/protractor.conf.js",
"e2e-update": "webdriver-manager update --standalone false --gecko false",
"ionic:build": "ionic-app-scripts build && npm run ngsw-config && npm run ngsw-copy",
"ionic:serve": "ionic-app-scripts serve",
"ng": "ng",
"ngsw-config": "node_modules/.bin/ngsw-config www src/ngsw-config.json",
"ngsw-copy": "cp node_modules/@angular/service-worker/ngsw-worker.js www/",
"version-update": "node ./update-build-version.js"
},
"dependencies": {
"@angular/animations": "5.2.10",
"@angular/common": "5.2.10",
"@angular/compiler": "5.0.3",
"@angular/core": "5.2.10",
"@angular/forms": "5.0.3",
"@angular/http": "5.0.3",
"@angular/platform-browser": "5.0.3",
"@angular/platform-browser-dynamic": "5.0.3",
"@angular/service-worker": "5.2.10",
"@firebase/app": "0.1.10",
"@ngx-pwa/local-storage": "5.3.0",
"@ngx-translate/core": "9.1.1",
"@ngx-translate/http-loader": "2.0.1",
"angularfire2": "5.0.0-rc.6",
"firebase": "4.13.1",
"fix-orientation": "0.0.2",
"ionic-angular": "3.9.2",
"ngx-pipes": "^2.3.5",
"promise-polyfill": "7.1.2",
"raven-js": "^3.27.0",
"rxjs": "5.5.4",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.18"
},
"devDependencies": {
"@angular/cli": "1.7.4",
"@angular/compiler-cli": "5.0.3",
"@angular/language-service": "5.0.3",
"@ionic-angular/schematics": "^1.1.4",
"@ionic/app-scripts": "^3.2.0",
"@types/googlemaps": "^3.30.7",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.1",
"firebase-admin": "^5.12.0",
"jasmine-core": "~2.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~2.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"purify-css": "^1.2.5",
"replace-in-file": "^3.4.2",
"ts-node": "~4.1.0",
"tslint": "~5.9.1",
"typescript": ">=2.4.2 <2.5"
},
"config": {
"ionic_copy": "./config/copy.config.js",
"ionic_sass": "./config/sass.config.js",
"ionic_webpack": "./config/webpack.config.js"
}
}