Как скомпилировать шаблон пыли

dust-compiler -s controllers/inbox/views/inbox.dust -d    public/js/custom/inbox/messages.js

но я получаю ошибку

 if (err) throw err;
               ^
Error: ENOTDIR, scandir 'C:\jbk\buy2gthr-master\controllers\inbox\views\inbox.dust'
    at Error (native)

у меня есть файл inbox.dust:

{>"../../../layout/layout"/}

 {<css-content}
 {/css-content}
 {<page-content}
 {/<page-content}
     <script id="entry-template" type="text/x-tmpl">
                  {title}
                    <ul>
                        {#data}
                        <li>{name}</li>{~n}
                        {/data}
                    </ul>
     </script>
**<div id="output"></div>**
 {/page-content}
 {<script-content}
 <script src='/js/custom/inbox/inbox.js'></script>
 <script src='https://cdnjs.cloudflare.com/ajax/libs/dustjs-linkedin/2.7.2/dust-full.js'></script>
  {/script-content}

и файл inbox.js

$(document).ready(function () {
    var data = {
        "title": "Famous People", 
        "names" : [{ "name": "Larry" },{ "name": "Curly" },{ "name": "Moe" }]
    }

    var source   = $("#entry-template").html();
    var compiled = dust.compile(source, "intro");
    console.log(compiled);

    dust.loadSource(compiled);

    dust.render("intro", data, function(err, out) {
        if(err) console.log(err);
        else
        console.log(out);

        $("#output").html(out);
    });
});

все еще я получаю

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

1 ответ

Решение

Я не уверен, какой компилятор пыли вы используете, но просто используйте dustc - это идет с пылью.

Вы можете прочитать обо всех параметрах API Dustc, но чтобы предварительно скомпилировать один файл, вы должны сделать что-то вроде

dustc controllers/inbox/views/inbox.dust --output=public/js/custom/inbox/messages.js

DustC компилирует шаблоны, используя абсолютные имена вместо относительных, потому что Dust не поддерживает файловую систему. Если вы специально не настроили свой dust.onLoad Функция для обработки относительных путей, вы хотите, чтобы ваши включения выглядели примерно так {> "inbox/messages" /},

Другие вопросы по тегам