2016-02-02 2 views
1

У меня проблема с созданием моего собственного плагина в ионной структуре.ionic/cordova не может создать плагин

Это мой plugin.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" id="org.apache.cordova.hid" version="0.0.1"> 
    <name>Hid</name> 
    <description>Cordova HID USB Plugin</description> 
    <license>Apache 2.0</license> 
    <keywords>cordova,hid</keywords> 
    <js-module src="www/hid.js" name="hid"> 
    <clobbers target="hid" /> 
    </js-module> 
</plugin> 

Это мой файл hid.js, который содержит код тестирования:

var exec = require('cordova/exec'); 

var hid = { 
    testFunc : function(callback) { 
    callback('echo echo'); 
    } 
} 
module.exports = hid; 

я установил плагин для проекта с помощью добавления:

$ ionic plugin add ./hid-plugin 
Updated the hooks directory to have execute permissions 
Saving plugin to package.json file 

Затем он появился в моем проекте в папке плагинов.

Это мой controllers.js:

angular.module('starter.controllers', []) 

.controller('DashCtrl', function($scope) {}) 

.controller('ChatDetailCtrl', function($scope, $stateParams, Chats) { 
    $scope.chat = Chats.get($stateParams.chatId); 

    // HERE IS THE TESTFUNC 
    hid.testFunc(function(echoValue) { 
    alert(echoValue); 
    }); 
}); 

И это приводит к ошибке:

ionic.bundle.js:25642 ReferenceError: hid is not defined 
    at new <anonymous> (http://localhost:8100/js/controllers.js:23:5) 
    at invoke (http://localhost:8100/lib/ionic/js/ionic.bundle.js:17762:17) 
    at Object.instantiate (http://localhost:8100/lib/ionic/js/ionic.bundle.js:17770:27) 
    at http://localhost:8100/lib/ionic/js/ionic.bundle.js:22326:28 
    at self.appendViewElement (http://localhost:8100/lib/ionic/js/ionic.bundle.js:56883:24) 
    at Object.switcher.render (http://localhost:8100/lib/ionic/js/ionic.bundle.js:54995:41) 
    at Object.switcher.init (http://localhost:8100/lib/ionic/js/ionic.bundle.js:54915:20) 
    at self.render (http://localhost:8100/lib/ionic/js/ionic.bundle.js:56743:14) 
    at self.register (http://localhost:8100/lib/ionic/js/ionic.bundle.js:56701:10) 
    at updateView (http://localhost:8100/lib/ionic/js/ionic.bundle.js:62357:23) <ion-nav-view name="tab-chats" class="view-container tab-content" nav-view="active" nav-view-transition="android"> 

Я попробовал почти все:

  • создать функцию в hid.js без скрытый оберточный объект
  • спрятать объект в параметры Ch atDetailCtrl
  • использование $ спрятался вместо газоразрядных

но без положительного результата.

Можете ли вы указать мне, что я пропустил или сделал неправильно?

ответ

0
  1. импорта вы Js файл в index.html
  2. посмотреть и проверить cordova_plugins.js файл (вы можете обновить его здесь)
Смежные вопросы