javascript - एक्स्टजेएस अनुप्रयोग सही ऐप फ़ोल्डर में नहीं देख रहा है




extjs model-view-controller (2)

इस ट्यूटोरियल में , कोड है जो पढ़ता है:

Ext.require('Ext.app.Application');

var Application = null;

Ext.onReady(function() {
    Application = Ext.create('Ext.app.Application', {
        name: 'AM',

        controllers: [
            'Users'
        ],

        launch: function() {
            //include the tests in the test.html head
            jasmine.getEnv().addReporter(new jasmine.TrivialReporter());
            jasmine.getEnv().execute();
        }
    });
});

मेरे लिए, यह एक 404 की ओर जाता है जब एप्लिकेशन एप्लिकेशन कोड की तलाश कर रहा है।

GET http://localhost:8000/AM/controller/Users.js?_dc=1394340001581 404 (File not found)

यह सामान्य रूप से 'ऐप' फ़ोल्डर के बजाय आवेदन नाम (एएम) का उपयोग क्यों कर रहा है? मैंने 'ऐपफ़ोल्डर' कॉन्फ़िग को सीधे बिना फायदा का उपयोग करने की कोशिश की जब मैं आम तौर पर आवेदन का उपयोग करते हुए यह ठीक काम करता है

Ext.application({
    name: 'AM',

    // automatically create an instance of AM.view.Viewport
    autoCreateViewport: true,

    controllers: [
        'Users'
    ]
});

मैं रूट एप्लिकेशन निर्देशिका (जहां index.html और app.js रहते हैं) और extjs 4.2.1.883 का उपयोग कर एक साधारण HTTP सर्वर के साथ आवेदन की सेवा कर रहा हूं।


आपको ऐप फ़ोल्डर्स का सेट करना होगा :

Ext.application({
    name: 'AM',
    appFolder: "Physical path of appfolder",
    autoCreateViewport: true, 
    controllers: [
        'Users'
    ]
});

उपरोक्त वर्ग के लिए वस्तु बनाएं आपको नियंत्रकों के लिए सही पथ मिलेगा


मैंने कभी नहीं पाया कि यह मेरे लिए क्यों काम नहीं कर रहा था, लेकिन ट्यूटोरियल को जारी रखने के लिए, मैंने इसके बजाय Ext.application का इस्तेमाल किया और लॉन्च में एक वैश्विक वर्णालय को आवेदन दिया, अर्थात्:

Ext.application({
    requires: ['Ext.container.Viewport'],
    name: 'AM',
    controllers: [
        'Smiles'
    ],
    autoCreateViewport: false,

    launch: function() {
        window.Application = this;
    }
});