2016-04-18 1 views
2

У меня есть приложение, созданное с помощью Cordova, Onsen (и Angular), хорошо работающего на Android и iOS, и я хочу экспортировать его на windows 8.1. Когда я запускаю приложение в Visual Studio, я получаю следующие ошибки:Приложение Кордовы с Onsen (и Angularjs) на Windows Phone 8.1 не запускается

Eccezione generata alla riga 1958, colonna 11 in ms-appx: //xx.xxx.xxxx/www/lib/onsenui/js/angular/angular .js 0x800a139e - Ошибка выполнения JavaScript: [$ injector: nomod] Модуль 'ngLocale' недоступен! Вы либо ошибочно написали имя модуля, либо забыли загрузить его. Если регистрация модуля гарантирует, что вы укажете зависимости в качестве второго аргумента. ? http://errors.angularjs.org/1.4.3/ $ инжектор/nomod р0 = ngLocale

Eccezione generata алла рига 1958, 11 Colonna в мс-appx: //xx.xxx.xxxxx/www/lib/onsenui/js/angular/angular.js 0x800a139e - Ошибка выполнения JavaScript: [$ инжектор: nomod] Модуль 'templates-main' недоступен! Вы либо ошибочно написали имя модуля, либо забыли загрузить его. Если регистрация модуля гарантирует, что вы укажете зависимости в качестве второго аргумента. http://errors.angularjs.org/1.4.3/ $ форсунки/nomod? P0 = шаблоны-основные

Запускается приложение загружает содержимое JS, но у меня есть идея, что Угловая контроллер никогда не начинается ... В инспекторе в Visual Studio, я могу видеть, что не загружается тег тела (внутри тега html есть только тег head).

Никакой другой ошибки не возникает, поэтому я думаю, что 2 ошибки являются причиной всех.

Я уже добавил библиотеку winstore-jscompat.js для создания приложения AngularJS в приложении.

Я искал всюду для решения, но я не нашел ничего полезного. (Здесь также в Stackoverflow, я нашел подобный вопрос, но никто не ответил (https://stackoverflow.com/questions/33303379/error-nglocale-is-not-available-when-start-windows-8-1-app)

Все обрабатывается контроллером

<body ng-controller="AppController as app"> 

Я надеюсь, что кто-то имеет некоторые предложения.

Заранее спасибо


EDITED на 18.04.2016, после того, как комментарий ниже

У меня есть только один модуль, и самозагрузки делается таким образом:

var pmod = ons.bootstrap('pmod', ['onsen', 'ngSanitize']); 

Это контроллер:

pmod.controller('AppController', ["$scope", "$window", function($scope, $window){ 
var _self = this; 

    ons.ready(function() 
    { 
     $("body").addClass("c_" + device.platform.toLowerCase()); 
     document.addEventListener("resume", onResume, false); 
     home.refresh(); 
     navigator.splashscreen.hide(); 
     // other instructions here, working without errors ... 
     // ... 
    }); 

    // other functions here ... 

    return _self; 
}]); 

В Visual Studio, когда я запустить приложение, я вижу это:

Screenshot of the DOM Inspector with the running up on the phone

Как вы можете видеть, у меня нет тега тела.

+0

Взгляните на [это сообщение в блоге] (http: //www.johnpapa.сеть/легко затруднительный к а-здравой угловой-модуль-ошибке /). Это предполагает проверку правописания ваших модулей и зависимостей. Если это не поможет, добавьте еще несколько кодов, где мы увидим ваши 'ng-app' и' angular.module() '. – Phonolog

+0

Спасибо за ответ. Я уже видел эту статью, но я не нашел никакого рабочего решения для приложения. Я отредактировал вопрос, поэтому вы можете увидеть более подробную информацию. – JD76

ответ

0

Через 2 недели я обнаружил, что решением было создать новое приложение с нуля, добавить шаблон Onsen, а затем изменить index.html и файлы app.js с помощью моего кода. И все начали работать. Кажется, что порядок включения библиотек был фундаментальным (теперь у меня есть cordova.js, называемый внутри тега тела.

Смежные вопросы