2009-12-20 6 views
1

Я хочу разработать приложение GWT. Приложение содержит 8 модулей, и все модули работают на одной странице.GWT Lazy Загрузка

У меня есть ссылки для всех 7 опций в верхней части.

При загрузке страницы я хочу, чтобы загружался и отображался только домашний контент.

Только тогда, когда пользователь нажимает параметры меню, содержимое меню должно загружаться.

Может ли кто-нибудь предложить лучший способ достичь этого.

+0

Если вы еще не нашли ответ, это может помочь, если вы более конкретно относитесь к проблеме ... в противном случае отметьте свой вопрос как ответ. –

ответ

0

AFAIK, лениво загружаемые (или подключаемые) модули не могут быть выполнены в GWT. Отчасти это связано с тем, как работает компилятор GWT - ему нравится импортировать весь код, который он когда-либо будет видеть, а затем оптимизирует и сокращает его как можно более злобно (чтобы сделать результирующие JS-файлы такими же маленькими и возможными) , Если у него нет доступа ко всему исходному коду спереди, он может сделать оптимизацию, которая сломает подключаемые модули (тем более что ничто в «основном» приложении не может ссылаться на классы, которые должны работать с лениво загружаемыми модулями - компилятор GWT обрезает эти «неиспользуемые» классы в основном модуле).

Этот метод stackoverflow question from May 09 запрашивает одно и то же и имеет тот же ответ - это невозможно.

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

(я не использовал GWT 2.0 - это, возможно, был рассмотрен вопрос)

+0

GWT to рассмотрел этот вопрос. – Carnell

6

Это было адресовано в GWT 2.0 ... Сначала вы будете удалить отдельные точки входа вы имеете для каждого модуля - так они все на одной странице, вам нужна только одна точка входа на страницу.

Затем вы можете использовать метод GWT.runAsync() в каждой точке, которая, по вашему мнению, может быть разделенной ... она автоматически сокращает код в куски, которые загружаются по мере необходимости.

Посмотрите here для документов.

+0

Как насчет на стороне компиляции? Вы все еще должны скомпилировать все в любое время, когда хотите внести изменения в модуль «плагин»? Руководство по разметке кода, по-видимому, не было особенно ясным. – Ash

+0

GWT 2.0 также поставляется с очень интересным режимом Dev, который удаляет эту головную боль (или полностью скрывает ее, во всяком случае). Вы запустите приложение, установите плагин для браузера и внесите изменения и нажмите «Обновить». Thats it - http://code.google.com/webtoolkit/doc/latest/ReleaseNotes.html#NewFeaturesDevMode –

0

Благодарим вас за ответ. Вы правы, что весь код Javascript загружается.

Но должен быть способ, как сказать, о модуле - Просмотр профиля. Только когда пользователь нажимает ссылку «Профиль профиля», необходимо создать виджеты, связанные с отображением моего профиля. это невозможно.

+0

Его довольно легко возможно ... Я привязал ссылку к документам сверху. В этой теме также много сообщений о вводе/выводе Google –