Extjs, как определить файл глобальных констант - PullRequest
0 голосов
/ 29 октября 2019

С здесь и здесь и некоторые другие Google, я вижу, что есть возможность иметь глобальные константы, всегда определенные в коде. Мне нужно объявить файл XML или JSON с этими константами, чтобы при необходимости изменять эти константы не меняли исходный код. Как я могу добиться этого с помощью Extjs?

1 Ответ

1 голос
/ 30 октября 2019

В вашем корневом каталоге проекта вы можете создать каталог, например «data /», и добавить туда файл JSON, например, constants.json.

Затем, когда ваше приложение запускается, вы можете сделать ajax-запрос к этому файлу и сохранить его где-нибудь, например, в синглтоне.

Constants.js:

Ext.define('MyApp.Constants', {
  alternateClassName: ['Constants'],
  singleton: true,

  SOME_CONSTANT: 'Abc',  // you can also add values that are not part of the file
  TIMEOUT: null // if you like to make it clear what values you are expecting, from constants.json
});

Где-то, может быть, в RootController

Ext.Ajax.request({
   url: 'localhost:1841/data/constants.json',
   method: 'GET'
}).then(function (result) {
   var data = Ext.Json.decode(result.responseText);

   Ext.Object.each(data, function (key, value) {
       Constants[key] = value; // assuming all key-values in result are valid constants...

   })
})

data / constants.json:

{
  "TIMEOUT": 60000,
  "FOO": "BAR"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...