Передача объекта клиенту в node/express + ejs?

У меня есть довольно большой объект, который мне нужно передать функции в клиентском сценарии. Я пытался использовать JSON.stringify, но столкнулся с несколькими проблемами с этим подходом, в основном связанными с производительностью. Можно ли сделать что-то подобное в ejs?

app.get('/load', function(req, res) {
    var data = {
        layout:'interview/load',
        locals: {
            interview: '',
            data: someLargeObj
        }
    };
    res.render('load', data);
});

И в моем клиентском скрипте я бы передал этот объект такой функции

<script type="text/javascript">
    load(<%- data %>); // load is a function in a client script
</script>

Когда я пытаюсь это сделать, я получаю либо

<script type="text/javascript">
    load();
</script>

, либо

<script type="text/javascript">
    load([Object object]);
</script>
27
задан Errol Fitzgerald 22 June 2012 в 07:08
поделиться