2015-02-13 1 views
0

Я программирую использование dust-full.js из вилки linkedIn (2.5.1). Я пытаюсь использовать помощники для условностей, но я не могу заставить его работать. Прямо сейчас, я использую свою локальную машину (на данный момент у меня нет намерения включать серверный сервер, но может быть, где этот проект идет). В настоящее время я тестирую свой код в общей папке Dropbox. Весь несерверный код сработал.Как использовать помощники с Dust.js в локальной среде?

Код в вопросе:

{?quote temp="4"} 
     Once you have chosen the best answer{@if cond="{temp} > 1"}s{/if}, please select the "Submit" button. 
    {:else} 
     Choose the best answer{@if cond="{temp} > 1"}s{/if}, then select the "Submit" button. 
    {/quote} 

Я уже добавил пыль full.js распределения и помощник, как так:

<script src="script/dust-full.js" type="text/javascript"></script> 
<script src="script/dust-helpers.min.js" type="text/javascript"></script> 

я видел в других потоках и на dust.js tutorial, что нужно «потребовать» помощников. Используя такой код:

var dust = require('dustjs-linkedin'); 
dust.helper = require('dustjs-helpers'); 

Однако, когда я включаю это, я получаю ошибку консоли: «ReferenceError: требуют не определен.» Я предполагаю, что это потому, что «require» обычно используется/входит в node.js, но я честно не знаю. Я бы предпочел не включать node.js, поскольку я этого не знаю, и мне не интересно изучать дополнительные библиотеки. Однако я не знаю, как оценить помощников.

У меня есть четыре вопроса:

  1. Есть ли какие-либо очевидные ошибки в коде я заготовил?
  2. Помогают ли помощники dust.js при использовании серверных скриптов?
  3. (Предполагая, что ответ на вопрос 2 есть «Нет») Может ли помощник использоваться только с dust-full.js и dust-helpers.js?
  4. (Предполагая, что ответ на 3 - «Нет»). Как использовать помощники только с использованием клиентских скриптов?

ответ

1

Использование require для загрузки помощников для серверной среды, такой как узел. Вы должны быть в состоянии сделать именно то, что вы сделали, чтобы загрузить помощников - просто включите их после основного сценария пыли, и они будут автоматически добавлены к объекту dust.

Что вы сделали, выглядит правильно, так возможно ли, что вы использовали неправильный путь к файлу Javascript для пыли?

Описание: 0 0 Добавить в корзину {@gt} helper working. (Помощник {@if} устарела, так что вы будете получать предупреждения в консоли при использовании it-- но {@gt} делает именно то, что вы хотите.)

<div id="output"></div> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/dustjs-linkedin/2.5.1/dust-full.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/dustjs-helpers/1.5.0/dust-helpers.min.js"></script> 
 
<script> 
 
    var tmpl = dust.compile('Hello World! Choose the best answer{@gt key=temp value=1}s{/gt}', "test"), 
 
     context = { "temp": 4 }; 
 
    dust.loadSource(tmpl); 
 
    dust.render("test", context, function(err, out) { 
 
    document.getElementById("output").textContent = out; 
 
    }); 
 
</script>

+0

Это супер полезно! Спасибо! – Jeff

+0

Арг, пропустил мой шанс изменить. Хотелось бы сказать больше. Я думаю, что проблема у меня была с моими каталогами, поэтому я ее уберу. Я попытался запустить его с моим кодом с отправленными вами каталогами, но я не могу заставить параметр temp работать. Любые предложения о том, как это правильно? У вас есть пример того, как использовать эту функцию? – Jeff

+0

Я просто подражал вашему примеру. 'temp' - это просто переменная в моем объекте context. – Interrobang

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

  • Нет связанных вопросов^_^