Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   "paths processed": true (https://javascript.ru/forum/extjs/56202-paths-processed-true.html)

siber-biber 04.08.2015 14:47

в сенчу зарепортили?

khusamov 04.08.2015 18:34

А это разве проблема Ext? nohuhu сказал что должно работать. Возможно что я напутал там...

khusamov 14.08.2015 14:10

Тема не закрыта. Не ясно как все-таки правильно делать! Как правильно задать путь к классу приложения.

Код в песочнице https://fiddle.sencha.com/#fiddle/rj5

Я задал путь к приложению:

appFolder: "/my/path/to/app"


Но контроллер Root почему-то загружается с другой папки. Это видно в консоли:

https://fiddle.sencha.com/app/controller/Root.js

nohuhu 15.08.2015 01:26

Цитата:

Сообщение от khusamov (Сообщение 384246)
Тема не закрыта. Не ясно как все-таки правильно делать! Как правильно задать путь к классу приложения.

Пардон, не заметил последние посты в этой теме.

Цитата:

Код в песочнице 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');
    }
});


В песочницу всё это добро загонять лениво, уж извините. Пятницо вечер. :)


Часовой пояс GMT +3, время: 14:54.