Не удается заставить Azure работать с приложением Ionic2 / Angular2 / Cordova

#cordova #typescript #ionic2 #azure-mobile-services #visual-studio-cordova

#кордова #typescript #ionic2 #azure-мобильные сервисы #visual-studio-cordova

Вопрос:

Я использую базовое приложение Ionic2 Blank. Когда я создаю экземпляр Azure со следующей строкой в home.ts

 import azureMobileClient from 'azure-mobile-apps-client';
  

оно развертывается без ошибок. Сбой — это просто пустой экран на Ripple или пустой экран на устройстве. Я не вижу никаких ошибок при сборке.

Текущая настройка: Win10 x64 Visual Studio 2015 Community Cordova CLI: 6.3.1 Версия Ionic Framework: 2.0.0-rc.1 Версия Ionic CLI: 2.1.1 Версия Ionic App Lib: 2.1.1 Версия Node: v4.6.0

Вот шаги, которые я предпринял

  1. Создайте новый проект из Ionic 2 (бета-версия 10)
  2. Пустые зависимости восстановления
  3. запустил «npm install azure-mobile-apps-client» (получил предупреждение от npm enoent ENOENT)
  4. Отредактировал package.json, добавил «azure-mobile-apps-client»: «^ 2.0.0-rc1»
  5. В папке приложения создайте новые объявления файлов.d.ts.
  6. Добавлен
    модуль объявления ‘azure-mobile-apps-client’; в declarations.d.ts (при развертывании все еще отображается домашняя страница)
  7. Отредактировал home.ts, добавил
    импорт azureMobileClient из ‘azure-mobile-apps-client’; в разделе импорт {NavController} из ‘ionic-angular’; (Проект развертывается, но показывает пустой экран)

Package.json

 {
  "name": "io.cordova.myapp3e6a78",
  "private": true,
  "version": "0.0.1",
  "description": "ionic2-ts-blank: An Ionic project",
  "dependencies": {
    "@angular/common": "2.0.0-rc.3",
    "@angular/compiler": "2.0.0-rc.3",
    "@angular/core": "2.0.0-rc.3",
    "@angular/platform-browser": "2.0.0-rc.3",
    "@angular/platform-browser-dynamic": "2.0.0-rc.3",
    "@angular/http": "2.0.0-rc.3",
    "es6-shim": "^0.35.0",
    "ionic-angular": "2.0.0-beta.10",
    "ionic-native": "1.2.4",
    "ionicons": "3.0.0",
    "reflect-metadata": "^0.1.3",
    "rxjs": "5.0.0-beta.6",
    "zone.js": "^0.6.12",
    "azure-mobile-apps-client": "^2.0.0-rc1"
  },
  "devDependencies": {
    "del": "2.2.0",
    "gulp": "3.9.1",
    "gulp-watch": "4.3.5",
    "ionic-gulp-browserify-typescript": "2.0.0",
    "ionic-gulp-fonts-copy": "^1.0.0",
    "ionic-gulp-html-copy": "^1.0.0",
    "ionic-gulp-sass-build": "^1.0.0",
    "ionic-gulp-scripts-copy": "^2.0.0",
    "run-sequence": "1.1.5",
    "typings": "^1.3.1"
  },
  "cordovaPlugins": [
    "cordova-plugin-whitelist",
    "cordova-plugin-console",
    "cordova-plugin-statusbar",
    "cordova-plugin-device",
    "cordova-plugin-splashscreen",
    "ionic-plugin-keyboard"
  ],
  "cordovaPlatforms": [ ],
  "scripts": {
    "build": "node_modules/.bin/gulp build",
    "typings": "node_modules/.bin/typings install",
    "postinstall": "npm run typings amp;amp; npm run build"
  }
}
  

declarations.d.ts
declare module 'azure-mobile-apps-client';

home.ts

 import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
import azureMobileClient from 'azure-mobile-apps-client';

@Component({
  templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
  constructor(private navController: NavController) {
    }
  onLink(url: string) {
      window.open(url);
  }
}
  

Комментарии:

1. вам повезло с этой проблемой?

2. @RandikaRatnayake Я продвинулся дальше, но все еще не смог подключить Azure. Я вручную добавил все пакеты, потому что возникла какая-то проблема с загрузкой. Мне также пришлось вручную добавить Azure typings, а затем страница загрузилась бы, но как только я действительно вызвал любой метод Azure, я бы получил ошибку создания экземпляра. Я пытался использовать объявления объектов Azure как на уровне приложения, так и на уровне страницы, но безрезультатно. Очень расстраивает. Я смог выполнять обычные веб-вызовы, но не Azure. Я не играл с ним два месяца.. Если у вас есть какие-либо идеи, я был бы признателен за них.

3. Я все еще работаю над, буду держать вас в курсе.

Ответ №1:

На самом деле вы не используете azureMobileClient в своем коде, кроме его добавления. Ошибка означает, что оно не было загружено. Вам необходима успешная установка npm, прежде чем вы сможете его использовать. Тогда вам действительно нужно его использовать.