Я создаю приложение AngularJS, которое я ожидал работать как гибридное приложение для мобильных устройств. Таким образом, приложение будет запускаться локально из файловой системы.Возможно ли построить гибридное приложение с угловым?
Когда $ routeProvider получает файл html, я получаю следующее сообщение.
Это нарушение CORS очевидно, но файл является локальным и пытается получить доступ к другому локальному файлу. Это не похоже на то, что веб-сайт пытается получить доступ к локальным файлам клиентов. Это клиент.
Я не могу развернуть веб-сервер, чтобы обслуживать локальные файлы, потому что это будет упаковано и развернуто как локальное приложение.
Я знаю, что люди постоянно создают гибридные мобильные приложения. Я не могу понять, как они это делают с AngularJS и почему AngularJS не предлагает ни решения, ни предписывает, как обойти CORS.
Я открыт для всех предложений. Спасибо всем.
XMLHttpRequest не может загрузить файл: /// D: /SubversionRits/SourceCode/Verso%20-%20Mashup%20Proposal/MarshupSource/MashupCoreUI/core/apps/mashup/welcome/welcome.html. Запросы на кросс-начало поддерживаются только для схем протокола: http, data, chrome-extension, https, chrome-extension-resource. VM36 angular.js: 8380
Ошибка: не удалось выполнить «отправить» в «XMLHttpRequest»: не удалось загрузить файл: /// D:/SubversionRits/SourceCode/Verso% 20-% 20Mashup% 20Предпосылки/MarshupSource/MashupCoreUI/ядро / приложение/Mashup/добро пожаловать/welcome.html.
Вот мой маршрут конфигурации
mashupApp.config(function ($routeProvider, $httpProvider) {
// I've tried all these with no effect.
//$httpProvider.defaults.headers.common['Access-Control-Allow-Origin'] = '*';
//$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
//$routeProvider.defaults.headers.common['Access-Control-Allow-Origin'] = '*';
//$httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
//$httpProvider.defaults.useXDomain = true;
//delete $httpProvider.defaults.headers.common['X-Requested-With'];
$routeProvider
.when('/about', {
templateUrl: 'apps/mashup/about/about.html',
controller: 'aboutController',
resolve: {
loadMyCtrl: ['$ocLazyLoad', function ($ocLazyLoad) {
// you can lazy load files for an existing module
return $ocLazyLoad.load({
name: 'mashupApp',
files: ['apps/mashup/about/aboutController.js', 'apps/mashup/~appServices/dataService.js']
});
}]
, sessionLoad: function ($route, sessionLoad) { return sessionLoad.loadCompleted(); }
}
})
.when('/', {
templateUrl: 'apps/mashup/welcome/welcome.html',
sessionLoad: function ($route, sessionLoad) { return sessionLoad.loadCompleted(); }
}
})
;
});
Что вы используете для упаковки и развертывания приложения, как родное приложение? Я не знаю, почему у вас проблемы. Проверьте [ionic framework] (http://ionicframework.com/) и посмотрите, как они это делают. Все, что вам нужно установить, - это узел и запустить пару команд (например, 'ionic start testapp sideMenu', и у вас будет приложение, которое работает для меня с использованием кордовы. Если есть что-то еще, что вы используете, вам нужно указать, что в вопрос –
Прямо сейчас я не собираю это ни в чем. Я создаю веб-приложение, но хочу, чтобы можно было взять кусочки веб-приложения и упаковать их в гибридную структуру. Меня беспокоило, Я заметил, что я не могу запустить свой проект из файловой системы без веб-сервера. Мое впечатление от гибридных приложений заключается в том, как они работают, поэтому я хочу убедиться, что все, что я делаю, совместимо. Сегодня я планирую построить простое приложение Intel XDK, так как у меня уже есть учетная запись с ними. Если это будет хорошо, я возьму часть этого кода и создаю еще одно примерное приложение, но с этим кодом маршрутизации. Мысль? – user3448990
Итак, у вас есть веб-страница, на которую вы идете на свой телефон, и пытаетесь вытащить локальные файлы с телефона для шаблонов? Это не сработает ... –