Comment convertir une application web Angular1 existante en une application Cordova?

j'ai trouvé beaucoup de tutoriels sur internet vous dire comment construction application Cordova avec AngularJS, et c'est bien.

mais que faire si J'ai mon application web AngularJS en vie et que je voudrais en faire une application mobile (Android/IOS)? Est-ce possible / faisable / souhaitable?

si c'est le cas, Pouvez-vous donner des conseils ou indiquer une ressource existante qui documente cette tâche?

30
demandé sur MarcoS 2014-09-21 19:55:40

3 réponses

comme dmahapatro dit votre meilleur pari pour obtenir votre application AngularJS empaqueté pour mobile est d'utiliser le cadre ionique. Cette migration serait assez simple. Ionique comprend un cadre D'UI, mais n'est pas du tout nécessaire, tout codage web fonctionnera parce que votre application est juste en cours d'exécution dans un cadre chrome. L'outil de ligne de commande ionique fait en fait toute la magie.

je commencerais par lancer une application ionique standard en utilisant la commande ionic start APPNAME. Ensuite, vous pouvez simplement mettre votre application dans le APPNAME / www directory. Puis modifiez votre index.html et ajouter cette balise script dans la tête. <script src="cordova.js"></script>

c'est tout ce Qui est vraiment nécessaire pour obtenir votre application construite pour mobile. Vous pouvez tester sur Android en exécutant ionic platform add android pour installer les dépendances pour Android, puis exécutez ionic run android (branchez votre android avec les pilotes installés ou un émulateur tournant comme Genymotion). Si vous voulez construire pour iOS vous aurez besoin D'avoir un Mac (eww...) mais il est tout aussi facile ionic platform add ios et puis exécutez ionic run ios pour tester sur Apple, bien qu'il y ait un peu plus de configuration je crois.

pour obtenir les avantages supplémentaires des directives Ionic et d'autres utilitaires utiles, vous pouvez ajouter la dépendance à votre module ionique principal comme ci-dessous. Remarque j'ai aussi ajouté ngCordova et je recommande fortement ceci pour obtenir une meilleure intégration de périphérique.

angular.module('APPNAME', ['ionic', 'ngCordova'])

.run(function($ionicPlatform, $cordovaSplashscreen) {
    $ionicPlatform.ready(function() {
        // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
        // for form inputs)
        if (window.cordova && window.cordova.plugins.Keyboard) {
            cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
        }
        if(window.navigator && window.navigator.splashscreen) {
            window.plugins.orientationLock.unlock();
        }
        if (window.StatusBar) {
            // org.apache.cordova.statusbar required
            StatusBar.styleDefault();
        }
        if (window.cordova){
            // Hide Splash Screen when App is Loaded
            $cordovaSplashscreen.hide();
        }
    });
});

tout dans l'ensemble vous êtes assez bien fixé puisque vous êtes déjà sur AngularJS qui est l'épine dorsale (jeu de mots prévu) de ionique. Vous pouvez rencontrer des problèmes spécifiques à l'appareil en ce qui concerne le style et autres, mais pour la plupart, il devrait tout simplement fonctionner. N'hésitez pas à m'envoyer un message à tout moment si vous voulez plus d'aide avec Ionic ou AngularJS. Merci! ^_^

37
répondu Popcorn245 2015-05-08 14:43:09

j'ai suivi les étapes mentionnées par Popcorn245 et cela a fonctionné. Il est très important de noter que si le projet angulaire original utilise des bibliothèques bower, vous devez fusionner le paquet.json et bower.fichiers json du projet Angular avec le nouveau projet ionique. Désormais, les bibliothèques bower seront installées dans le dossier www/lib(ceci est indiqué dans le .bowerrc file), donc il devrait être redirigé vers l'index.html et l'application.dossiers js du projet Angular. J'espère que cette information Vous aider. N'hésitez pas à me contacter par PM si vous avez besoin d'aide. Meilleures salutations!

3
répondu ElmerDeVe 2016-02-22 03:51:32

suivez les étapes indiquées par Popcorn245 et si cela ne fonctionne pas, essayez de faire la compilation de votre projet Angular 1 en cours de fonctionnement et copiez tous les fichiers du dossier "dist" (présent dans le répertoire racine, qui devrait inclure "index.html fichier"), afin de le "www" dans le dossier ionique de projet application, puis essayez de faire des "ionique servir".

j'ai essayé la solution donnée par elmerDeVe mais j'ai été incapable de faire fonctionner l'application. Quoi qu'il en soit, merci elmerDeVe pour la solution.

0
répondu Abhishek Gupta 2018-04-02 09:32:05