1. #1
    Sencha Premium Member
    Join Date
    Apr 2009
    Posts
    104
    Vote Rating
    0
    jej2003 is on a distinguished road

      0  

    Default JSBuilder 3 create jsb works from URL but not from file System

    JSBuilder 3 create jsb works from URL but not from file System


    I'm trying to run the jsbuilders create command to build a jsb3 file but get the following error when I run locally:
    undefined:0 TypeError: 'null' is not a constructor

    if I deploy my app to a web server and run against the full address it works
    index.html. Also if I change the stores:[] tag to the equivalent requires tag it seems to work (although with a more complex application I run into other issues). Anyone have any thoughts for how to solve this?
    HTML Code:
    <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-all-debug.js"></script>
        <script type="text/javascript" src="app.js"></script>
    </head>
    <body></body>
    </html>
    app.js
    Code:
    Ext.Loader.setConfig({
        enabled: true
    });
    Ext.application({
        name: 'HelloExt',
        stores :[
            'AutoCompleteStore'
        ],
        launch: function() {
            Ext.create('Ext.container.Viewport', {
                layout: 'fit',
                items: [
                    {
                        title: 'Hello Ext',
                        html : 'Hello! Welcome to Ext JS.'
                    }
                ]
            });
        }
    });
    app/store/AutoCompleteStore
    Code:
    Ext.define('MyApp.store.AutoCompleteStore', {
        extend: 'Ext.data.Store',
    
        constructor: function(cfg) {
            var me = this;
            cfg = cfg || {};
            me.callParent([Ext.apply({
                storeId: 'AutoCompleteStore',
                proxy: {
                    type: 'ajax',
                    extraParams: {
                        format: 'json'
                    },
                    url: '/autocomplete',
                    reader: {
                        type: 'json',
                        root: 'matches'
                    }
                },
                fields: [
                    {
                        name: 'value'
                    },
                    {
                        name: 'highlightedValue'
                    }
                ]
            }, cfg)]);
        }
    });

  2. #2
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    36,522
    Vote Rating
    814
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    I personally have not run into this, what if you run it from localhost instead of having to put it into the full address? The only thing I could think of is if your page is a server side script and not HTML
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

  3. #3
    Sencha Premium Member
    Join Date
    Apr 2009
    Posts
    104
    Vote Rating
    0
    jej2003 is on a distinguished road

      0  

    Default


    If I run it from localhost it works as well, I just can't run it from the filesystem.

  4. #4
    Ext JS Premium Member
    Join Date
    Jul 2011
    Posts
    7
    Vote Rating
    0
    PureWhiteAsian is on a distinguished road

      0  

    Default


    I have the same problem, except that when I run it through the filesystem, it just gets stuck. I even checked the Task Manager and it isn't using any of the CPU resources. So then, I tried it with the URL and it worked.

    The only difference between my index.html and yours is that I used ext-debug.js instead of ext-all-debug.js.

    Also, my app folder contains more folders than just controller, store, model, and view. I have a util and an action folder. I heard that if you didn't follow the folder structure exactly, then the jsbuilder wouldn't work through the filesystem. Is this true?

  5. #5
    Sencha - Senior Forum Manager mitchellsimoens's Avatar
    Join Date
    Mar 2007
    Location
    Gainesville, FL
    Posts
    36,522
    Vote Rating
    814
    mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute mitchellsimoens has a reputation beyond repute

      0  

    Default


    The folder structure must follow the class names, that is what drives the entire thing.
    Mitchell Simoens @SenchaMitch
    Sencha Inc, Senior Forum Manager
    ________________
    Check out my GitHub, lots of nice things for Ext JS 4 and Sencha Touch 2
    https://github.com/mitchellsimoens

    Think my support is good? Get more personalized support via a support subscription. https://www.sencha.com/store/

    Need more help with your app? Hire Sencha Services services@sencha.com

    Want to learn Sencha Touch 2? Check out Sencha Touch in Action that is in print!

    When posting code, please use BBCode's CODE tags.

  6. #6
    Sencha User
    Join Date
    Oct 2008
    Posts
    7
    Vote Rating
    0
    leecop is on a distinguished road

      0  

    Default


    Quote Originally Posted by jej2003 View Post
    If I run it from localhost it works as well, I just can't run it from the filesystem.
    Same here

  7. #7
    Sencha User
    Join Date
    Sep 2009
    Location
    Denver
    Posts
    51
    Vote Rating
    2
    McQuack_82 will become famous soon enough

      0  

    Default Same here

    Same here


    I'm having the same issue

    I've tried these variation for file path all should translate the same in my context. I have a copy of the SDK tools located under my project directory to allow this.

    file:///C:/Projects/eWoc/omc2/ewoc/src/Ewoc/index.html Fails
    http://localhost:54786/index.html Works
    ..\..\src\Ewoc\index.html Fails
    C:\Projects\eWoc\omc2\ewoc\src\Ewoc\index.html Fails

    I'm using the SDK 2.0 Beta 3 version
    Due to our build process the option that works does not fit well.

  8. #8
    Sencha User
    Join Date
    Sep 2009
    Location
    Denver
    Posts
    51
    Vote Rating
    2
    McQuack_82 will become famous soon enough

      0  

    Default Feature idea

    Feature idea


    Adding the ability to reference the app.js file via the file system would be a nice feature for people using dynamic languages like php, aspx and do not want the depency on a web server during build process. I have an application that I would like to use the sdk tools in an automated build without the web server being ran at build time.