Сообщение от khusamov
|
Тема не закрыта. Не ясно как все-таки правильно делать! Как правильно задать путь к классу приложения.
|
Пардон, не заметил последние посты в этой теме.
Цитата:
|
Код в песочнице https://fiddle.sencha.com/#fiddle/rj5
Я задал путь к приложению:
appFolder: "/my/path/to/app"
Но контроллер Root почему-то загружается с другой папки. Это видно в консоли:
https://fiddle.sencha.com/app/controller/Root.js
|
Честно говоря, я никак не могу понять, что вы пытаетесь сделать и зачем мудрите с этими механизмами. Вызов Ext.application() сперва определяет
новый класс, наследованный от Ext.app.Application
или от указанного в конфиге, и создаёт экземпляр этого класса, когда все требуемые зависимости загрузились. Дальше по сценарию.
А в вашем случае, поскольку конфиг, переданный в Ext.application(), не наследует Kitchen.Application, то и пути не подставляются правильно. Я уже говорил ведь, что Ext.application() чудесатое? Ну вот вы и наткнулись на очередное подтверждение.
В общем, ещё более настоятельно рекомендую не лезть в дебри и просто пользоваться инструментами так, как они должны быть использованы. Примерно так:
// app.js
Ext.application({
extend: 'Kitchen.Application',
name: 'Kitchen',
appFolder: "/path/to/app",
launch: function() {
console.log("launch in Ext.application");
}
});
// /path/to/app/Application.js
Ext.define("Kitchen.Application", {
extend: "Ext.app.Application",
controllers: ["Root"],
init: function() {
console.log("Application init");
},
launch: function() {
console.log("launch in Kitchen.Application");
}
});
// /path/to/app/controller/Root.js
Ext.define('Kitchen.controller.Root', {
extend: 'Ext.app.Controller',
init: function() {
console.log('Root controller init');
}
});
В песочницу всё это добро загонять лениво, уж извините. Пятницо вечер. :)