2014-01-16 3 views
0

Теперь я написал шаблон очень легко:Почему я не могу вставить коды, созданные на сайте пыли?

Hello, my name is {name}, I'm {age}. 

А затем открыть этот сайт: http://linkedin.github.io/dustjs/test/test.html, сделать некоторые вставки и шаблон расслоение плотной коды генерируются ниже:

(function() { 
    dust.register("demo", body_0); 

    function body_0(chk, ctx) { 
    return chk.write("Hello, my name is ").reference(ctx._get(false, ["name"]), ctx, "h").write(", I'm ").reference(ctx._get(false, ["age"]), ctx, "h").write("."); 
    } 
    return body_0; 
})(); 

Затем я создал файл JS и скопировать генерироваться выше все коды JS и передать это в мое приложение:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title>DustDemo</title> 
    <script src="jsfiles/dust.js"></script> 
    <script src="jsfiles/staticpagetemplate.js"></script> 

    <script> 
     function Demo1() { 
      dust.render("demo", { name: "test", age: 13 }, function (err, out) { 
       alert(out); 
      }); 
     } 
    </script> 
</head> 
<body onload="Demo1()"> 
    <h1>Demo 1——Static Page</h1> 
    <div id="divDemo1"> 
    </div> 
</body> 
</html> 

Вопрос в том, что если я использую, как это, он сообщает мне «_GET» гр annot. Позже я нашел проблему в dust.js:

Context.prototype.get = function (key) { 
     var ctx = this.stack, value; 

     while (ctx) { 
      if (ctx.isObject) { 
       value = ctx.head[key]; 
       if (!(value === undefined)) { 
        return value; 
       } 
      } 
      ctx = ctx.tail; 
     } 
     return this.global ? this.global[key] : undefined; 
    }; 

Так что нет «_get», но «получите» вместо этого!

Почему это ИЗМЕНИТЬ переводчик онлайн ?? Кто-нибудь может мне помочь?

ответ

0

Возможно, вы используете старую версию Dust в jsfiles/dust.js. Начиная с Dust 2.2.0 get был заменен на _get. Компилятор на http://linkedin.github.io/dustjs/test/test.html использует новую версию Dust, поэтому он компилирует шаблон с использованием _get вместо get.

Вы скомпилировали ваш шаблон с новой версией Dust, но вы пытаетесь отобразить его со старой версией Dust, и эти два несовместимы.

+0

Любые уведомления об этом на пыль GitHub? Большое спасибо! –

+1

Изменение обратно совместимо, если ваши шаблоны были скомпилированы с помощью Dust <2.2.0 и попытаться отобразить их с помощью Dust> = 2.2.0, однако мы не предвидели желания скомпилировать шаблоны с Dust> = 2.2.0 и затем визуализируйте их с помощью Dust <2.2.0. Таким образом, было только небольшое упоминание о http://linkedin.github.io/dustjs/ – smfoote

+0

Большое спасибо! Для того, чтобы помочь другим, я бы также разделил две онлайновые ссылки: 1) 2.2.0 (ниже): http://akdubya.github.io/dustjs/ 2) 2.2.0 (или выше) : http://linkedin.github.io/dustjs/test/test.html –

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