Я хочу скомпилировать мое приложение gwt в один монолитный кросс-браузерный совместимый файл .html. В конце концов, я пытаюсь создать шаблон механического турка Amazon через gwt. Эти шаблоны должны быть одним файлом .html, поскольку они размещены на компьютерах Amazon. Файл .html может ссылаться на внешние источники, но только по абсолютному адресу, поскольку я не контролирую файловую иерархию.
Меня не волнует, что монолитный файл будет загружаться медленнее, чем отдельные файлы для каждого браузера. Я разрабатываю довольно простую веб-форму, содержащую только клиентский код, который увидят очень немногие. Таким образом, скорость и кросс-браузерная корректность не являются главными проблемами.
Я обнаружил, что, добавив следующую строку в мой MODULE_NAME.gwt.xml, я могу создать один файл javascript, который работает исключительно для одного браузера (например, firefox, как показано ниже):
<set-property name="user.agent" value="gecko">
Затем я вставляю сгенерированный код в мой файл .html, и он работает для одного указанного браузера. К сожалению, когда я пытаюсь открыть файл .html в других браузерах, сгенерированный gwt javascript не загружается.
Есть ли команда компоновщика, которую я могу добавить к этому файлу, который поможет? Я пытался вызвать SingleScriptLinker через:
<add-linker name="sso" />
но получил следующую ошибку:
[ОШИБКА] Модуль должен иметь точно
одна отдельная перестановка при использовании
компоновщик единственного сценария.
Я также пытался настроить содержимое сгенерированных файлов javascript, чтобы сделать их достаточно совместимыми для встраивания в файл .html, но сгенерированный gwt javascript слишком запутан (даже в режиме детального вывода). Есть ли пошаговая инструкция, как это сделать?
Я использую плагин gwt eclipse для OSX.