Проблем с внедряването на общата среда на Worklight 6.2 от последния пакет за корекции: WL не е дефиниран

Наскоро инсталирах най-новата актуализация на пакета за корекции на Worklight и сега изпълнявам v6.2.0.01.20141027-1531 Оттогава забелязах блокираща грешка относно внедряването на моята обща среда на WL сървъра.

Сега, когато разположа приложението си („Изпълни като > Изгради всички среди“ и след това „Изпълни на сървър за разработка на Worklight“), стартирането на приложението ми в „Преглед като общи ресурси“ или в мобилната уеб среда на iPad / Android ми дава следното Грешка в Javascript:

WL is not defined

Когато проверявам изходния код, разбирам, че изходният код на Javascript „генериран от Worklight“ липсва в тага head. Трябва да видя нещо подобно:

<script>
    // Define WL namespace.
    var WL = WL ? WL : {};
    /**
     * WLClient configuration variables.
     * Values are injected by the deployer that packs the gadget.
     */
    WL.StaticAppProps = {
        "APP_DISPLAY_NAME": "appname",
        "APP_ID": "project",
        "APP_SERVICES_URL": "\/project\/apps\/services\/",
        "APP_VERSION": "1.0",
        "ENVIRONMENT": "preview",
        "LOGIN_DISPLAY_TYPE": "popup",
        "LOGIN_POPUP_HEIGHT": 610,
        "LOGIN_POPUP_WIDTH": 920,
        "PREVIEW_ENVIRONMENT": "common",
        "WORKLIGHT_PLATFORM_VERSION": "6.2.0.01.20141027-1531",
       "WORKLIGHT_ROOT_URL": "\/project\/apps\/services\/api\/app\/common\/"
    };
</script>

...но няма нищо подобно в изходния код на моята страница (ето защо WL не е намерен). Освен това, той не включва файловете worklight.js и wljq.js, които се предполага, че се добавят динамично по време на фазата на изграждане (доколкото знам). Съдържанието ми в index.html е "ванилия" и обяснява защо нищо не работи.

Затова реших да проверя в архивите на bin, които се генерират по време на фазата на изграждане. Случва се архивът app-common.wlapp да съдържа правилно генерирания изходен код с всички генерирани от Worklight неща вътре. Изглежда, че нещо нередно се случва по време на стъпката на внедряване. Опитах се да го импортирам ръчно в WL Console, но за съжаление и той не работи (същият резултат).

Не успях да възпроизведа проблема при създаването на нов проект, изглежда, че се случва само след актуализация на Worklight до най-новата версия на fix pack. Поради това е сложно да се предостави примерен проект.

NB: всичко работи добре, след като работи на действително устройство. Само общата среда е нарушена в моя случай. Но един мой колега също забеляза този проблем за другите среди, така че... Ще ви уведомя, ако успея да го възпроизведа за другите среди.

Благодаря ви за помощта, моля, попитайте, ако имате нужда от повече информация от мен.


person Jb Gartner    schedule 10.11.2014    source източник


Отговори (1)


  1. От вас не се изисква да правите "build all..." и след това "run on...". Това просто повтаря същата стъпка, тъй като „Изпълни на Worklight Development Server“ означава „изграждане на артефактите на проекта (.wlapp файл, .war файл) и след това ги внедряване“.

  2. Vanilla index.html съдържа препратки към initoptions.js, main.js, main.css и messeages.js. Донякъде сте объркващи във формулировката си относно това какво се очаква и къде се очаква.

Както и да е, опитайте следното:

  1. Затворете Eclipse
  2. Отидете във вашата папка tmp и изтрийте папката wlBuildResources
  3. Отворете Eclipse и опитайте следните два пътя:

    • Right-click the app folder > Run As > Run on Worklight Developer Server > Open Worklight Console > preview as common web resources
    • Щракнете с десния бутон върху папката на приложението > Изпълни като > Визуализация

Кажете ми кое от двете се проваля, ако изобщо се провали.

person Idan Adar    schedule 10.11.2014
comment
Визуализацията като общи уеб ресурси не успя в началото. След това Preview работи добре. Опитах отново Преглед като общи уеб ресурси и този път работи добре. Благодаря за бакшиша. - person Jb Gartner; 10.11.2014
comment
За информация, сега, когато се сблъскам с този проблем, просто щраквам с десния бутон върху моето приложение (в папката с приложения) › Изпълнявай като › Преглед. Работи, без да се налага да изтривате временните папки и без да рестартирате Eclipse. - person Jb Gartner; 19.11.2014