2014-10-29 2 views
1

Фон:Угловое приложение не работает при построении с помощью Phonegap

Я построил приложение углов, которое отлично работает в браузерах. На стороне интерфейса у меня есть HTML/CSS/Angular/Bootstrap, backend - это Web API. Так что он полностью разделен.

Я взял мой передний код, закрепил его, использовал Phonegap для создания приложения для Android. Когда я запускаю его, я вижу первый экран моего веб-сайта. Я подтвердил, что угловой код там работает, потому что я вижу его отфильтрованную навигацию на основании того, что пользователь не вошел в систему. Но когда я пытаюсь перейти на любую другую страницу своего приложения, я получаю пустой экран, поэтому Я попытался удаленно отладить его, используя удаленный отладчик PG. Каждый раз, когда я пытаюсь загрузить что-либо, кроме моей домашней страницы, я теряю связь с моей целью. Я не видел ошибок JS в консоли.

Это единственное в журналах:

"exception firing pause event from native" 
    "exception firing resume event from native" 

Есть ли какая-то часть конфигурации, которую я пропустил, что может привести такое поведение, или есть другой способ, я могу отладить это?

+0

, когда и говорят, что это работает в браузере, ты пользуешься локальный веб-сервер, или может у просто дважды щелкните index.html и открыть в браузере? – krisrak

+0

Работает на локальном веб-сервере. Назад и фронт работают на разных веб-серверах. Я вижу, куда вы попадаете. Имеет смысл, что PATH/Routing не будет работать, если я просто открою файл. Дело в том, что я уверен, как работает PG, я думал, что он эмулирует веб-сервер. Я попытался решить проблему, добавив базу href _ _ _ _, но ни одна из них не помогла. Хотя он ведет себя так, как будто ничего не найдено по адресу, на который он смотрит, но в отладчике нет ошибок. У меня отсутствует файл конфигурации или что-то еще? – Icepick

ответ

1

Поскольку вы используете angularJS, я предполагаю, что вы используете веб-сервер локально, чтобы сделать приложение работать на вашем браузере, так что все, кажется, работает хорошо

Хотя PhoneGap использует file server, чтобы запустить приложение на WebView, который похож на просто открытие index.html в браузере без веб-сервера. В самом деле, если вы можете заставить приложение работать в настольном браузере, просто открыв index.html без веб-сервера, тогда он будет работать, когда вы создадите приложение PhoneGap.

При тестировании вашего приложения в браузере могут возникнуть проблемы Cross-Origin, это произойдет, если ваше приложение совершает вызовы REST API или загружает шаблоны angularJS из другого .html-файла, эти ограничения Cross-Origin рассматриваются в PhoneGap build. Поэтому при тестировании в локальном браузере вы можете открыть Chrome с помощью web security disabled.

Если вы разработали приложение с помощью веб-сервера для тестирования, то вы могли бы иметь абсолютные URL-адрес для загрузки активов или hrefs, вам придется изменить их на relative URL paths.

Например, изменить <a href="/#/next-page"> к <a href="#/next-page"> или <img src="/images/logo.png"> к <img src="images/logo.png">

+0

Да, это была проблема с относительным URL. Благодарю. – Icepick

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