Начните новый проект Ionic 3 с Angular версии 4 - PullRequest
0 голосов
/ 03 ноября 2018

Я установил Ionic 3.6, который поддерживает Angular 4.0.1, так как я хочу повторно использовать некоторый код, который я уже разработал для настольного приложения. Проблема, с которой я сталкиваюсь, заключается в том, что когда я создаю новый проект с

ionic start newProject

он использует Angular 5, как вы можете видеть из package.json здесь ниже, где вы можете видеть, что angular-ionic 3.9.2 является зависимостью.

Как я могу создать новый проект с Angular 4.0.1? Это важно еще и потому, что когда я тестирую проект с ionic cordova, запускаю android и затем редактирую файл, соединение разрывается с ошибкой.

Спасибо.

{
  "name": "my5thproject",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "lint": "ionic-app-scripts lint",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "5.0.0",
    "@angular/compiler": "5.0.0",
    "@angular/compiler-cli": "5.0.0",
    "@angular/core": "5.0.0",
    "@angular/forms": "5.0.0",
    "@angular/http": "5.0.0",
    "@angular/platform-browser": "5.0.0",
    "@angular/platform-browser-dynamic": "5.0.0",
    "@ionic-native/core": "4.3.2",
    "@ionic-native/splash-screen": "4.3.2",
    "@ionic-native/status-bar": "4.3.2",
    "@ionic/storage": "2.1.3",
    "ionic-angular": "3.9.2",
    "ionicons": "3.0.0",
    "rxjs": "5.5.2",
    "sw-toolbox": "3.6.0",
    "zone.js": "0.8.18"
  },
  "devDependencies": {
    "@ionic/app-scripts": "3.1.0",
    "@ionic/cli-plugin-ionic-angular": "1.4.1",
    "ionic": "3.6.0",
    "typescript": "2.4.2"
  },
  "description": "An Ionic project"
}

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Вдохновленный ответом Суреша, окончательное решение включает в себя различные этапы:

  • изменил package.json (прикрепляю в конце ответа)
    • использовал Angular 4.1.3, который подходит для ionic 3.6.0 и подходит для моего проекта
    • изменено также rxjs на 5.4.0
    • изменил также zone.js до 0.8.12
    • изменена также машинопись на 2.3.4
  • удалено node_modules папка
  • запущен npm install внутри проекта
  • установлены rxjs и zone.js
    • npm install rxjs@5.4.0
    • npm install zone.js@0.8.12
  • установил правильную версию Cordova, чтобы предотвратить ошибку
    • npm install --save-dev @ionic/cli-plugin-cordova@1.4.1
  • изменил minSdkVersion на 19 в config.xml в следующей строке, чтобы предотвратить другую ошибку
    • <preference name="android-minSdkVersion" value="19" />
  • Тогда я получил это "throw er; // Unhandled 'error' event", которое я решил командой
    • npm i -D -E ws@3.3.2

Это было довольно странное путешествие, но я наконец сделал это. Спасибо также за многие другие ответы на SO. Было бы интересно узнать, есть ли более простое решение.

package.json

{
  "name": "my5thproject",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "lint": "ionic-app-scripts lint",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "4.1.3",
    "@angular/compiler": "4.1.3",
    "@angular/compiler-cli": "4.1.3",
    "@angular/core": "4.1.3",
    "@angular/forms": "4.1.3",
    "@angular/http": "4.1.3",
    "@angular/platform-browser": "4.1.3",
    "@angular/platform-browser-dynamic": "4.1.3",
    "@ionic-native/core": "4.3.2",
    "@ionic-native/splash-screen": "4.3.2",
    "@ionic-native/status-bar": "4.3.2",
    "@ionic/storage": "2.1.3",
    "ajv": "^6.5.5",
    "cordova-android": "7.1.1",
    "cordova-plugin-device": "^1.1.4",
    "cordova-plugin-ionic-webview": "^1.2.1",
    "cordova-plugin-splashscreen": "^4.0.3",
    "cordova-plugin-whitelist": "^1.3.1",
    "ionic-angular": "3.6.0",
    "ionic-plugin-keyboard": "^2.2.1",
    "ionicons": "3.0.0",
    "rxjs": "^5.4.0",
    "sw-toolbox": "3.6.0",
    "zone.js": "^0.8.12"
  },
  "devDependencies": {
    "@ionic/app-scripts": "3.1.0",
    "@ionic/cli-plugin-cordova": "^1.4.1",
    "@ionic/cli-plugin-ionic-angular": "1.4.1",
    "ionic": "3.6.0",
    "typescript": "2.3.4",
    "ws": "3.3.2"
  },
  "description": "An Ionic project",
  "cordova": {
    "plugins": {
      "ionic-plugin-keyboard": {},
      "cordova-plugin-whitelist": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "cordova-plugin-ionic-webview": {}
    },
    "platforms": [
      "android"
    ]
  }
}
0 голосов
/ 03 ноября 2018

Вам необходимо использовать последнюю версию 3, т.е. 3.9.2, которая будет иметь исправления производительности и ошибок. Ваш код, написанный для 3.6, должен работать для 3.9.1. Пожалуйста, попробуйте интегрировать его. Если вы все еще хотите использовать конкретные версии. Вы можете вручную обновить файл package.json.

{
  "name": "my5thproject",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "http://ionicframework.com/",
  "private": true,
  "scripts": {
    "clean": "ionic-app-scripts clean",
    "build": "ionic-app-scripts build",
    "lint": "ionic-app-scripts lint",
    "ionic:build": "ionic-app-scripts build",
    "ionic:serve": "ionic-app-scripts serve"
  },
  "dependencies": {
    "@angular/common": "4.0.1",
    "@angular/compiler": "4.0.1",
    "@angular/compiler-cli": "4.0.1",
    "@angular/core": "4.0.1",
    "@angular/forms": "4.0.1",
    "@angular/http": "4.0.1",
    "@angular/platform-browser": "4.0.1",
    "@angular/platform-browser-dynamic": "4.0.1",
    "@ionic-native/core": "4.3.2",
    "@ionic-native/splash-screen": "4.3.2",
    "@ionic-native/status-bar": "4.3.2",
    "@ionic/storage": "2.1.3",
    "ionic-angular": "3.6.0",
    "ionicons": "3.0.0",
    "rxjs": "5.5.2",
    "sw-toolbox": "3.6.0",
    "zone.js": "0.8.18"
  },
  "devDependencies": {
    "@ionic/app-scripts": "3.1.0",
    "@ionic/cli-plugin-ionic-angular": "1.4.1",
    "ionic": "3.6.0",
    "typescript": "2.4.2"
  },
  "description": "An Ionic project"
}

После обновления package.json. Попробуйте удалить папку node_modules и запустить 'npm install'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...