2015-07-04 5 views
2

Я использую Sails JS и хотел бы получить доступ к globals (sails.config.myGlobals) в моих активах, в настоящее время в js-файлах.Как в Sails получить доступ к глобальным активам?

Я бы надеялся, что существует аналогичный способ впрыскивания в файлы ejs. Но его нет.

Любые идеи? Должен ли я выполнять задачу Grunt для этого?

ответ

2

Не думаю, что это возможно с помощью Sails.

Однако вы можете установить переменную в файле представления ejs для доступа к ее значению в файле js-активов.

// someView.ejs 
<script> 
    myGlobals = '<%= config.myGlobals %>'; 
</script> 
+0

Этот ответ наиболее прав, потому что он включает в себя то, что я хочу, невозможно напрямую. Я, наконец, использовал «grunt-copy-part-of-file», чтобы скопировать строки в файл js в папке с ресурсами. – user3707805

3

В папке config создайте файл конфигурации, например MyConfig.js (имя не имеет значения). Заполните эту конфигурацию тем, что вам нужно.

module.exports.myconfig = { 
    configA: 'this is config A' 
} 

Используйте эту конфигурацию в своем контроллере, например.

showconfig: function(req, res){ 
    res.view('viewname', { 
    config: sails.config.myconfig 
    }); 
} 

Теперь в файле EJS, что называется, на этот пример viewName.ejs в views папке, вы можете использовать его как <% config.configA %> и this is config A будут напечатаны. Также, если вы хотите, чтобы Front End js (в папке с ресурсами) смог прочитать это значение, просто распечатайте его в теге script, например.

<script> 
    global.configA = '<%= config.configA %>'; 
</script> 

Или, если вы используете переднюю конец рамку библиотеку, он может быть помещен под некоторым value, service или factory, не делая глобальные переменные грязные, поэтому другие JS умеют читать это значение.

+0

Спасибо, но config.MyConfig.js для просмотра было ясно. Мне нужен доступ к глобалам из активов (файл в папке JS). Я хочу, чтобы некоторые значения в файле JS в папке assets/js синхронизировались с некоторыми глобалами в папке config. – user3707805

Смежные вопросы