Я попробовал приложение Aurelia в IE Edge сегодня, и загрузка первой страницы заняла 20 секунд. Переключение страниц также имеет неоправданно длинный характер, поэтому я показал эффективность google aurelia и обнаружил, что добавление библиотеки JS Bluebird помогает с производительностью в всех браузерах. Я не смог найти пример точно как, чтобы добавить эту библиотеку, кроме инструкции по ее добавлению непосредственно перед system.js
.Добавление приложения Bluebird к Aurelia вводит ошибки
Так что теперь вместо этого:
<script src="/jspm_packages/system.js"></script>
<script src="/config.js"></script>
<script>
System.import('aurelia-bootstrapper');
</script>
У меня есть это:
<script src="//cdn.jsdelivr.net/bluebird/3.4.1/bluebird.min.js"></script>
<script src="/jspm_packages/system.js"></script>
<script src="/config.js"></script>
<script>
System.import('aurelia-bootstrapper');
</script>
Все приложение работает так же, как раньше, я пытался в основном каждый вид и его функциональность, кроме предмет;
При каждом успешном выполнении маршрута я добавляю идентификатор к элементу <html>
(для целей стиля), соответствующий просматриваемому в данный момент маршруту. Поэтому на домашней странице у меня будет <html id="home-page">
и на странице входа <html id="login-page">
.
Это делается в app.js
(корневой элемент) в методе attached()
следующим образом:
this.eventAggregator.subscribe('router:navigation:success', event => {
if (event.instruction && event.instruction.router && event.instruction.router.currentInstruction && event.instruction.router.currentInstruction.config) {
document.documentElement.id = event.instruction.router.currentInstruction.config.name + '-page';
}
});
По какой-то причине на первой загрузке страницы, и только на первой странице загрузки, это событие никогда не срабатывает , Переход на другой маршрут отлично работает, и возвращение к маршруту, где событие никогда не срабатывало в первый раз, отлично работает. Только при загрузке первой страницы он не срабатывает.
Если я удалю синюю птицу, он снова начнет работать.
У кого-нибудь есть любая идея, что может быть причиной этого? Как я уже сказал, единственным изменением, которое я сделал, является добавление элемента bluebird script
к index.html
. Я не внес никаких изменений в код приложения.