2016-11-29 3 views
1

Я хочу взять некоторые свойства конфигурации из конфигурационного файла вместо index.html (не из метафайла, созданного из config/environment), например myConfig.js с двумя переменными (lang и host), которые могут быть изменены после сборки. В настоящее время я помещаю эти переменные в config/enviroment, но я хочу отделить эти переменные от этих данных.Ember config file после сборки

Например:

index.html:

<!DOCTYPE html> 
    ... 
    <meta name="myapp/config/environment" content="%7B%22modulePrefix%22%3A%22user%22%2C%22environment%22%3A%22development%22%2C%22baseURL%22%3A%22/%22%2C%22locationType%22%3A%22auto%22%2C%22contentSecurityPolicy%22%3A%7B%22default-src%22%3A%22%27none%27%20localhost%22%2C%22script-src%22%3A%22%27self%27%20%27exportApplicationGlobal%22%3Atrue%7D"> 
    ... 
    <script src="myconfig.js" ></script> 
    ... 
</html> 

myconfig.js:

module.exports = function() { 

    var MYCONFIG = { 
     lang: 'en', 
     host: 'http://.....' 
    } 

    return MYCONFIG ; 
}; 

Как это можно сделать?

Любая помощь будет значительно appriciated

ответ

0

Вы можете создать config утилиты

// utils/config-utils.js 
export default { 
lang: 'en', 
host: 'http://.....' 
}; 

, а затем импортировать его там, где нужно:

// controllers/my-controller.js 
import ConfigUtil from '../utils/config'; 

const { 
lang 
} = ConfigUtil; 

export default MyController.extend({ 
    ... 
}); 
+0

Как отделить файл config-utils.js от остальной части встроенного кода (myapp.js). Я хочу, чтобы мой клиент изменял значения конфигурации без необходимости пересоздания кода (на самом деле у него не будет исходного кода приложения, даже знаний или инструментов для его выполнения). Благодаря! –

+0

Прошу прощения, я неправильно понял ваш вопрос и не понял этого. Решение, которое я опубликовал, не справлялось с этой ситуацией – GUL

0

Наконец я положил файл JSON в и используйте Ember. $. ajax в маршруте приложения, чтобы получить его.