Глобальные константы, где их определить? 
		
		
		
		Мне нужна глобальная константа 
	var SERVER_URL_PREFIX = "http://localhost:3000"; но где ее прописать, чтобы она была видна везде? в Application.js не вышло дело. В моделях не видно. в app.js тоже самое, этот файл похоже вообще последний в списке сборки. Идеально было бы в app.json, но какая директива отвечает за это? И есть ли такая вообще?  | 
	
		
 Присоединяюсь к вопросу. Я себе завел синглтон с константами, но их видно только в рантайме. 
	 | 
	
		
 Что такое рантайм??? 
	 | 
	
		
 Так а в чем проблема брать из синглтона ? 
	ExtJS Globals in MVC Example  | 
	
		
 Или вариант другой.. я использую так: 
	
Ext.define('MyApp.util.Config', {
    singleton : true,
    config : {
        debug : true
    },
    constructor : function(config) {
        this.initConfig(config);
        this.callParent([config]);
    }
});
ну и где нужно делаем require, используем.. MyApp.util.Config.getDebug();  | 
	
		
  | 
	
		
 Мда... Я явно что то делал не так. Вот попробовал по этим статьям, и все работает. Но тем не менее точно помню что была некая проблема из-за которой я не смог использовать константы на этапе сборки. Ну ок, может еще вспомню что там было. А сейчас оно работает так: 
	Завожу синглтон 
Ext.define('SafetyRound.util.Constants', {
	singleton: true,
	alternateClassName: 'Constants',
	
	ui: 'rib-panel-embedded'
		
});
Подключаю его в апликейшене 
Ext.define('SafetyRound.Application', {
	extend: 'Ext.app.Application',
	name: 'SafetyRound',
	
	requires: [
		'SafetyRound.util.Constants'
	]
});
И использую где надо 
Ext.define('SafetyRound.view.projectinfo.Main', {
	extend: 'Ext.tab.Panel',
	ui: Constants.ui,
	...
});
 | 
	
		
 Кстати, напомню, что нужно чтобы значение глобальных констант зависело от режиме сборки: production, development, и т.п. 
	Кроме //<debug> есть что-то более внятное?  | 
	
		
 Глобальные приложения, включая константы, это не тот инструмент, который я стал бы использовать в своих приложениях. Лучше используйте override. 
	Если ваш код выглядит примерно так: 
Ext.define('My.app.Proxy', {
    extend: 'Ext.data.proxy.Ajax',
    alias: 'proxy.myproxy',
    url: '/production/url'
});
Ext.define('My.app.Store', {
    extend: 'Ext.data.Store',
    proxy: 'myproxy'
});
Тогда можно добавить override, который будет включаться только в dev и testing сборках: 
Ext.define('My.app.debug.Proxy', {
    override: 'My.app.Proxy',
    url: '/dev/url'
});
Самый простой способ включить такие override в отдельные сборки приложения, это держать файлы override в отдельной директории, которая включается только в нужных сборках через app.json: 
"development": {
    "overrides": [
        "${app.dir}/debug-overrides"
    ]
},
"testing": {
    "overrides": [
        "${app.dir}/debug-overrides"
    ]
}
При таком подходе вам никогда не нужно будет мучаться головной болью от глобальных констант, случайно протёкших в боевую сборку.  | 
	
		
 Цитата: 
	
  | 
	
		
 Не просто возможно, но и есть официально рекомендованный правильный способ делать любые условные изменения в коде, зависящие от внешних факторов навроде типа сборки и т.д. Например, локализация тоже так делается, см. KitchenSink. 
	 | 
	
		
 Перенес все свои оверрайты сюда: 
	
"overrides": [
        "overrides/common"
    ],
Прописал для разных сборок следующее: 
"production": {
        ...
        "overrides": [
            "overrides/common",
            "overrides/production"
        ]
    },
"development": {
        ...
        "overrides": [
            "overrides/common",
            "overrides/development"
        ]
    },
Строку ${app.dir}/ убрал, так как еще с прошлого раза она вызывает у команды sencha app watch понос. Проблема, если сборочные "overrides": [ убрать, то все работает как раньше. Но если вставить, то будто бы этих оверайтов нет. В общем что-то не работает. А что - не ясно. Причем sencha app watch не ругается. .  | 
	
		
 Никто не знает как решить эту проблему? 
	 | 
	
		
 Я думаю, такие вопросы лучше задавать в сенчовом форуме. Мои познания в этой теме уже исчерпаны, дальше пойдёт только глухой (и очень медленный) телефон. :( 
	 | 
	
		
  | 
	
		
 Заработал вот такой вариант: 
	app.json 
"overrides": [
    "overrides/common",
    "overrides/${build.environment}"
  ],
 | 
| Часовой пояс GMT +3, время: 05:39. |