Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ibm mobilefirst Worklight 6.2自上次修复包以来的常见环境部署问题:未定义WL_Ibm Mobilefirst_Worklight Studio - Fatal编程技术网

Ibm mobilefirst Worklight 6.2自上次修复包以来的常见环境部署问题:未定义WL

Ibm mobilefirst Worklight 6.2自上次修复包以来的常见环境部署问题:未定义WL,ibm-mobilefirst,worklight-studio,Ibm Mobilefirst,Worklight Studio,我最近安装了最新的Worklight fix pack更新,现在正在运行v6.2.0.01.20141027-1531 从那以后,我注意到我在WL服务器上的公共环境部署有一个阻塞错误 现在,当我部署我的应用程序Run as>Build all environments,然后在Worklight development server上运行时,在预览中作为公共资源或在iPad/Android移动web环境中运行我的应用程序会出现以下Javascript错误: WL is not defined 当

我最近安装了最新的Worklight fix pack更新,现在正在运行v6.2.0.01.20141027-1531 从那以后,我注意到我在WL服务器上的公共环境部署有一个阻塞错误

现在,当我部署我的应用程序Run as>Build all environments,然后在Worklight development server上运行时,在预览中作为公共资源或在iPad/Android移动web环境中运行我的应用程序会出现以下Javascript错误:

WL is not defined
当我检查源代码时,我意识到Worklight生成的Javascript源代码在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控制台中手动导入它,但不幸的是,两种结果都不一样

在创建新项目时,我没有设法重现此问题,看起来它只是在将Worklight更新到最新的修复包版本后发生的。因此,提供一个示例项目很复杂

注:在实际设备上运行后,一切正常。就我而言,只有共同的环境被打破了。但是我的一位同事也注意到了其他环境中的这个问题,所以。。。如果我能为其他环境复制它,我会告诉你的

谢谢你的帮助,如果你需要我更多的意见,请询问

您不需要构建所有。。。然后继续。。。。这只是重复相同的步骤,因为在Worklight Development Server上运行意味着构建项目工件.wlapp文件.war文件,然后部署它们

香草index.html包含对initoptions.js、main.js、main.css和messeages.js的引用。你的措词有点让人困惑,什么是预期的,在哪里是预期的

无论如何,请尝试以下操作:

月食 转到tmp文件夹并删除wlBuildResources文件夹 打开Eclipse并尝试以下两种路径:

右键单击应用程序文件夹>运行方式>在Worklight Developer Server上运行>打开Worklight Console>作为公共web资源预览 右键单击应用程序文件夹>运行方式>预览
告诉我哪一个失败了,如果有的话。

预览常见的web资源最初失败了。然后,预览工作正常。我再次尝试将预览作为常见的web资源,这次效果很好。谢谢你的提示。仅供参考,现在当我面对这个问题时,我只需在“应用程序”文件夹中的“运行方式”>“预览”中右键单击我的应用程序。它可以工作,无需删除临时文件夹,也无需重新启动Eclipse。