未捕获的ReferenceError:未定义X.

时间:2011-07-13 16:13:20

标签: javascript html webos enyo

所以我正在挖掘WebOS enyo框架并且非常沮丧。我目前在日志中收到以下错误。我一直在查看框架中的示例,我似乎无法找到错误源于何处。自从我做了任何HTML或js以来已经过去了十多年,我当时所做的就是非常基本的东西。任何帮助将不胜感激

  

未捕获的ReferenceError:未定义学习,index.html:9

这是一个非常简单的应用程序,我目前只是试图让元素出现在屏幕上。

的index.html

<!doctype html />
<html>
<head>
    <title>Learning</title>
    <script src="../../enyo/1.0/framework/enyo.js" type="text/javascript"></script>
</head>
<body>
    <script type="text/javascript">
       new MyApps.Learning().renderInto(document.body);
</script>
</body>
</html>

Learning.js

enyo.kind({
    name: "MyApps.Learning",
    kind: enyo.VFlexBox,
    components: [
        { kind: "Scrim",
            layoutKind: "VFlexLayout",
            align: "center",
            pack: "center",
            components: [
                {kind: "SpinnerLarge"}
            ]
        }
    ]
});

depends.js

enyo.depends(
    "source/Learning.js",
    "css/Learning.css"
);

只是为了它的

appinfo.json

文件

{
    "id": "com.myapps.learning",
    "uiRevision": "2",
    "version": "1.0.0",
    "vendor": "kizelli",
    "type": "web",
    "main": "index.html",
    "title": "Learning"
}

3 个答案:

答案 0 :(得分:1)

我认为这是appinfo.json文件中的一个问题......

您将ID保存为:com.myapps.learning

然而,您将其引用为myapps.learning,请尝试从appinfo.json中移除com.或将其添加到您的类型定义和index.html

答案 1 :(得分:0)

这通常会在您的Learning.js出现问题时出现。 我不太确定,但你可以试试:

enyo.kind({
    name: "MyApps.Learning",
    kind: enyo.VFlexBox,
    components: [
        {kind: "Scrim",
         layoutKind: "VFlexLayout",
         align: "center",
         pack: "center",
         components: [
                {kind: "SpinnerLarge"}
            ]
        }
    ]
});

答案 2 :(得分:0)

根据我的经验,当enyo.js的路径错误时会出现此问题。我有一个较旧的SDK /模拟器副本,因此在我从教程中复制的路径中找不到enyo.js。升级SDK为我修复了它,但你可以ssh到你的模拟器中找到正确的路径。

如果未加载enyo,则无法创建您创建的任何种类(MyApps.Learning)。

有点失望的是,当没有找到enyo或没有加载时没有记录错误....