2013-12-16 93 views
3

我正在使用安裝在Eclipse Juno中的IBM Worklight Developer Edition 6.1作爲IDE和backbonejs作爲我的項目的主要JavaScript框架。IBM Worklight 6.1 - 未捕獲的引用錯誤:未定義WLJQ,未定義WL

我的index.html

<!doctype html> 
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]--> 
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]--> 
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]--> 
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0"> 
    <script>window.$ = window.jQuery = WLJQ;</script> 

    <script data-main="js/main" src="js/libs/require/require.js"></script> 
</head> 
<body> 

</body> 
</html> 

我main.js

require.config({ 
    paths: { 
     jquery: 'libs/jquery/jquery-min', 
     underscore: 'libs/underscore/underscore-min', 
     backbone: 'libs/backbone/backbone-min', 
     templates: '../templates', 
     bootstrap: 'bootstrap.min', 
     initOptions: 'initOptions', 
     biiRibMobile: 'biiRibMobile', 
     messages: 'messages' 
    }, 
}); 
require(['app', ], function(App) { 
    App.initialize(); 
}); 

我app.js

// Filename: app.js 
define(['jquery', 'underscore', 'backbone', 'router', // Request router.js 
'bootstrap', 'initOptions', 'biiRibMobile', 'messages', ], function($, _, Backbone, Router, bootstrap, initOptions, biiRibMobile, messages) { 
    var initialize = function() { 
      // Pass in our Router module and call it's initialize function 
      Router.initialize(); 
     }; 
    return { 
     initialize: initialize 
    }; 
}); 

我initOptions.js

var wlInitOptions = { 

    logger : {enabled: true, level: 'debug', stringify: true, pretty: false, 
     tag: {level: false, pkg: true}, whitelist: [], blacklist: []}, 

    analytics : { 
     enabled: false 
     //url : '' 
    } 

}; 

if (window.addEventListener) { 
    window.addEventListener('load', function() { WL.Client.init(wlInitOptions); }, false); 
} else if (window.attachEvent) { 
    window.attachEvent('onload', function() { WL.Client.init(wlInitOptions); }); 
} 

非常感謝提前。

+0

如果您從Eclipse中導出Worklight項目並提供其下載,那將會更好。您的代碼片段不完整,我不知道您可能從Worklight需要的代碼中刪除了什麼。 –

+0

當然。我會讓你知道先生。 –

+0

那麼不是提供項目而是開一個新的問題?你打算提供這個項目嗎,我們可以幫你嗎? –

回答

4

@DavidDhuyveter在評論中有一個很好的答案。我在Mac和Windows PC上遇到了這個問題。他的回答解決了我的Mac問題。

對於Windows,臨時文件夾應位於/ Users/you/AppData/Local/Temp/1 /或其他行中。

編輯 David的評論已刪除。這是原始的:

如果您在Mac上,請執行以下操作:退出eclipse。打開一個終端窗口和CD $ TMPDIR,RM -rf wlBuildResources wlPreview,重新啓動Eclipse,重建您的應用程序,你應該是好去 -

0

與WL 6.1.My應用程序相同的問題並沒有隨着鏈接「預覽共同ressources」工作,但它與移動瀏覽器模擬器

我在退出日食然後將其刪除wlbuildressources和wlpreview文件夾解決它的工作tmp文件夾(Linux上的/ tmp)。之後,我重新啓動了日食並開始工作。但是,這是6.1中的一個錯誤。

4

這個問題實際上發生了很多,實際上真的很令人沮喪。有時候所有的事情都會在一段時間內出現,並且會出現這種可愛的錯誤。有些事情,你可以做,而不是(這爲我一貫致力於)是:

  1. 在Eclipse中,轉到項目 - >清除...
  2. 選擇乾淨的選擇項目的複選框,並選擇您的項目
  3. 命中好吧

我會先嚐試一下,看看它做了什麼。如果不是,您可以執行可信的刪除和重新導入方法。

1

此問題仍然發生在V7.0。

雖然TMPDIR的清潔工作有些時候,但並不總是這樣 - 我在這裏看不到任何圖案。

重新啓動我的MACbook似乎工作可靠,我推測這是因爲我們得到一個新的TMPDIR。

我剛剛發現:

  1. 從服務器刪除項目
  2. 重命名項目(如MyProjectZZZ)
  3. 重建和部署,但也懶得跑
  4. 重命名項目回MyProject的
  5. 重建和部署

Se ems清理東西

0

我想我終於想出了一個簡單的解決方法。

在Eclipse中右鍵單擊您的項目名稱,選擇Close Project,然後再次右鍵單擊並選擇Open Project。這修復了我的破解預覽頁面。

0

對我來說,最快捷的解決方法是刪除項目,然後再次將項目添加到工作區中。這不需要重命名項目或其他過程。

1

每當我從Worklight控制檯打開應用程序時遇到此問題,我的幫助就是在我嘗試從Worklight控制檯加載它之前,右鍵單擊該應用程序,選擇運行方式 - >預覽。然後,無論從何處啓動應用程序,應用程序都會開始工作。

相關問題