У меня есть простое угловое приложение, и оно находится в папке www
моего проекта. Он работает нормально в браузере, когда я запускаю его через http: // сервер или виртуальный хост. Но index.js
загружает этот файл в качествеКак правильно загрузить мое угловое приложение с электронным файлом: ///?
mainWindow.loadUrl('file://' + __dirname + '/www/index.html');
Так что, когда я каламбур electron .
это показывает пустое окно. Я попытался открыть мой index.html
в браузере Chrome через файл: /// и он также пуст. Ошибка в консоли
XMLHttpRequest не может загрузить файл: ///Users/Sergey/Sites/Electron-test/www/partials/layout.html. Перекрестные запросы происхождения поддерживаются только для схем протокола:. HTTP, данные, хром, хром-расширения, HTTPS, хром-расширение-ресурсов (анонимные функции) @ angular.js: 10722
Это потому, что на маршрутизаторе UI
$stateProvider.state("app", {
url: '/',
templateUrl: 'partials/layout.html'
});
Есть и другие ошибки, связанные с изображением.
Я думаю, есть 2 решения.
- Запуск сервера с узлом и изменить
loadUrl('file:///...')
кloadUrl('http:///...')
, но я понятия не имею, как это сделать. - Сделайте что-нибудь еще. Может быть какой-то заголовок или параметр, чтобы разрешить запросы на кросс-начало, и я не знаю, как это сделать.
Как я могу решить эту проблему?
Ваши две опции связаны друг с другом, поскольку CORS - это конфигурация сервера, которая не может быть настроена на 'file: ///'. Вы должны действительно исследовать, как развернуть сервер, поскольку обычно рекомендуется повторить среду, которую вы планируете размещать на вашей машине разработки. Если вы планируете размещать на узловом сервере, то узел в разработке является хорошим (и простым); если вы планируете использовать что-то еще, например PHP, тогда установите это в своей среде разработки, если это возможно. – Claies
Это приложение AngularJS SPA. Он загружает только статические файлы JS/CSS/HTML. Все запросы на данные выполняются на онлайн-сервер JSON API. Поэтому я думаю, что любой сервер будет работать. –