ngCordova - cordova.plugins未定义

时间:2016-04-04 10:27:52

标签: cordova ionic-framework cordova-plugins

我在这里疯了。我是离子开发的新手,现在尝试安装任何插件一周...所以为了简单起见,这就是我在Git Bash本地做的,也尝试从Linux服务器运行。

1. NodeJs installed
2. Cordova installed, tried it with verions 5.4.1, 6, 6.1
3. Ionic 1.7.14 installed
4. ionic start sideApp sidemenu - success
5. android platform added
6. bower install ngCordova - success

的index.html:

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <title></title>

    <link href="lib/ionic/css/ionic.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">

    <!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
    <link href="css/ionic.app.css" rel="stylesheet">
    -->

    <!-- ionic/angularjs js -->
    <script src="lib/ionic/js/ionic.bundle.js"></script>

    <script src="lib/ngCordova/dist/ng-cordova.min.js"></script>
    <!-- cordova script (this will be a 404 during development) -->
    <script src="cordova.js"></script>

    <!-- your app's js -->
    <script src="js/app.js"></script>
    <script src="js/controllers.js"></script>
  </head>

  <body ng-app="starter">
    <ion-nav-view ></ion-nav-view>
    <div ng-controller="PlaylistsCtrl"></div>
  </body>

控制器

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

.controller('PlaylistsCtrl', function($ionicPlatform, $scope, $cordovaDevice, $window) {
   $ionicPlatform.ready(function() {
        if ($window.cordova)          
            alert('$window.cordova available');
        else 
            alert('$window.cordova NOT available');

        if ($window.cordova.plugins)
            alert('$window.cordova.plugins available');         
        else 
            alert('$window.cordova.plugins NOT available'); 

    });
})

然后是ionic upload,当我在手机上查看时,无论我做什么,我都会收到警告 Not avalialble

我错过了什么?是某些版本的兼容性问题,或者我可能会遗漏什么?我试图让这个解决一个星期一个星期...... 谢谢!

1 个答案:

答案 0 :(得分:2)

我猜你正在通过Ionic View应用程序进行检查,这是正确的(因为你提到了ionic upload)?

您无法使用插件(大多数插件都不能通过浏览器工作)。不,你不能,也没有没有解决方法,它只是不适合用它。

如果您已经在应用商店中安装了应用,并且您尝试通过ionic upload部署热门代码,那么请记住您首先必须发送更新,新的插件(插件是二进制文件),只有这样你才能再次使用热代码推送(部署)。

最重要的是,您应该通过ionic run的实际手机或ionic emulate的模拟器测试您的插件。