Sencha ExtJS 4 - Basic hello world demo issues
Asked Answered
C

3

7

Looking into ExtJS 4 and I am attempting to do the "Hello World" tutorial here: http://www.sencha.com/learn/getting-started-with-ext-js-4/

I have all my files setup as recommended in the tutorial:

enter image description here

But, I keep getting an error due to the funky syntax that starts their file:

enter image description here

I'm not using JQuery or any other libraries - since Sencha is supposed to be a complete javascript environment.

Here is the complete code:

app.js

<a href="#!/api/Ext-method-application" rel="Ext-method-application" class="docClass">Ext.application</a>({
    name: 'HelloExt',
    launch: function() {
        <a href="#!/api/Ext-method-create" rel="Ext-method-create" class="docClass">Ext.create</a>('<a href="#!/api/Ext.container.Viewport" rel="Ext.container.Viewport" class="docClass">Ext.container.Viewport</a>', {
            layout: 'fit',
            items: [
                {
                    title: 'Hello Ext',
                    html : 'Hello! Welcome to Ext JS.'
                }
            ]
        });
    }
});

index.html

<!doctype html>
<html>
<head>
    <title>Hello Ext</title>

    <link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css">
    <script type="text/javascript" src="extjs/ext-debug.js"></script>
    <script type="text/javascript" src="app.js"></script>
</head>
<body></body>
</html>

Any ideas on what could be the culprit?

Cutlor answered 18/1, 2012 at 19:56 Comment(0)
I
6

You're not supposed to have any HTML in a JS file. The code in the tutorial is screwed up. Those anchor href tags are links to ExtJS API documentation, that somehow got inserted into example code.

The actual code should be:

Ext.application({
    name: 'HelloExt',
    launch: function() {
        Ext.create('Ext.container.Viewport', {
            layout: 'fit',
            items: [
                {
                    title: 'Hello Ext',
                    html : 'Hello! Welcome to Ext JS.'
                }
            ]
        });
    }
});

I've put up a bug report about that page here: http://www.sencha.com/forum/showthread.php?175129-Documentation-Getting-Started-with-Ext-JS-4.0&p=717098#post717098


Added Jan 21st, 2012: apparently the correct version of that tutorial is available at: http://docs.sencha.com/ext-js/4-0/#!/guide/getting_started

Infallible answered 18/1, 2012 at 20:0 Comment(1)
Ahhh ok thanks - I just thought they were using some kind of crazy syntax in their code.Cutlor
E
2

You need to update your "app.js"(strip out html tags):

Ext.application({
    name: 'HelloExt',
    launch: function() {
        Ext.create('Ext.container.Viewport', {
            layout: 'fit',
            items: [
                {
                    title: 'Hello Ext',
                    html : 'Hello! Welcome to Ext JS.'
                }
            ]
        });
    }
});

Javascript parser does not understand html tags you happened to copy while creating your "app.js" file.

Eringo answered 18/1, 2012 at 19:59 Comment(0)
E
0

This is minimal HTML page to run ExtJS 4 without MVC:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <link href="/ext/4.0.0/resources/css/ext-all.css" rel="stylesheet" />
        <script src="/ext/4.0.0/ext-all.js"></script>
    </head>
    <body>
        <script>
            Ext.onReady(function() {
                Ext.Msg.alert('Welcome', 'Hello, World!');
            });
        </script>
    </body>
</html>

And this one is with MVC:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <link  href="/ext/4.0.7/resources/css/ext-all.css" rel="stylesheet" />
        <script src="/ext/4.0.7/ext-all.js"></script>
        <script src="/app.js"></script>
    </head>
    <body></body>
</html>

The code of app.js:

Ext.application({
    name: 'HelloWorld',
    launch: function () {
        Ext.Msg.alert('Welcome', 'Hello, World!');
    }
});

More details in my online demos:

ExtJS 4 "Hello World" Application

ExtJS 4 "Hello World" Application Using Ext Loader

ExtJS 4 MVC "Hello World" Application

Eleanor answered 29/5, 2017 at 12:51 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.