IBM Worklight 6.1 - 未捕获的 ReferenceErrors:未定义 WLJQ,未定义 WL

Posted

技术标签:

【中文标题】IBM Worklight 6.1 - 未捕获的 ReferenceErrors:未定义 WLJQ,未定义 WL【英文标题】:IBM Worklight 6.1 - Uncaught ReferenceErrors: WLJQ is not defined, WL is not defined 【发布时间】:2013-12-16 08:48:26 【问题描述】:

我使用安装在 Eclipse Juno 中的 IBM Worklight Developer Edition 6.1 作为我的 IDE,并使用backbonejs 作为我项目的主要 javascript 框架。

我的 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); );

非常感谢。

【问题讨论】:

最好从 Eclipse 中导出 Worklight 项目并提供下载。您的代码 sn-ps 不完整,我不知道您可能从代码中删除了 Worklight 所需的其他内容。 当然。先生,我会告诉你的。 所以您不提供项目,而是打开一个新问题?您是否要提供项目以便我们为您提供帮助? 是的。我会尽快给你发回购。 还在等待项目。 【参考方案1】:

@DavidDhuyveter 在 cmets 中有一个很好的答案。我在 Mac 和 Windows PC 上遇到了这个问题。他的回答解决了我的 Mac 问题。

对于 Windows,临时文件夹应位于 /Users/you/AppData/Local/Temp/1/ 或类似的位置。

编辑 大卫 cmets 被删除。这是原文:

如果您使用的是 mac,请执行以下操作:退出 eclipse。打开一个终端窗口并 cd $TMPDIR, rm -rf wlBuildResources wlPreview, 重新启动 Eclipse,重新构建您的应用程序,您应该一切顺利 -

【讨论】:

【参考方案2】:

这个问题实际上发生了很多,而且真的很令人沮丧。有时一切都会工作一段时间,然后突然出现这个可爱的错误。您可以做的事情(一直对我有用)是:

    在 Eclipse 中,转到 Project -> Clean ... 选中清理选定项目复选框,然后选择您的项目 点击确定

我会先尝试一下,看看效果如何。如果没有,您可以使用受信任的方法删除并重新导入。

【讨论】:

【参考方案3】:

这个问题在v7.0中仍然存在。

虽然 TMPDIR 的清洁有时会奏效,但并不总是如此 - 我在这里看不到任何模式。

重新启动我的 MACbook 似乎工作可靠,我推测这是因为我们获得了新的 TMPDIR。

我刚刚发现:

    从服务器中删除项目 重命名项目(例如 MyProjectZZZ) 重新构建和部署,但不要费心运行 将项目重命名为 MyProject 重建和部署

好像收拾东西了

【讨论】:

【参考方案4】:

每当我从 Worklight 控制台打开应用程序时遇到此问题时,对我有帮助的是我右键单击该应用程序,选择运行方式 -> 预览,然后再尝试从 Worklight 控制台加载它。 之后,无论我从哪里启动,应用程序都会开始运行。

【讨论】:

【参考方案5】:

与 WL 6.1 相同的问题。我的应用无法使用链接“预览作为公共资源”,但它可以与移动浏览器模拟器一起使用

我通过退出 Eclipse 解决了这个问题,然后删除了 tmp 文件夹(Linux 上的 /tmp)中的 wlbuildressources 和 wlpreview 文件夹。在那之后,我重新启动了eclipse并且它工作了。但是,这是 6.1 中的一个错误。

【讨论】:

【参考方案6】:

我想我终于找到了一个简单的解决方法。

在 Eclipse 中右键单击您的项目名称,选择关闭项目,然后再次右键单击并选择打开项目。这修复了我损坏的预览页面。

【讨论】:

【参考方案7】:

对我来说最快的解决方法是删除项目,然后再次将项目添加到工作区中。这不必因重命名项目或其他流程而受到影响。

【讨论】:

以上是关于IBM Worklight 6.1 - 未捕获的 ReferenceErrors:未定义 WLJQ,未定义 WL的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight 6.1 - 未显示 HTML 文件的内容

IBM Worklight 5.0.x:未捕获的 TypeError:无法调用未定义的方法“init”

IBM Worklight 6.1 - 如何打开 https 链接?

IBM Worklight 6.1 [收到来自客户端的错误令牌]

IBM Worklight 6.1 - 无法重新生成 iPhone 本机文件夹

IBM Worklight 6.1 - 构建和部署不可用?