一尘不染

如何使用dustjs-linkedin作为客户端模板?

node.js

我有服务器和客户端模板的想法,但是ust.js使我有些困惑。

为了将灰尘.js用于客户端模板,您需要三个步骤:

  1. 组装模板
  2. 加载模板
  3. 渲染模板

对?

但是模板从哪里来?我看到了两种不同的方法:

 1. <script> template <script>
 2. <div> template </div>

…两者都在DOM中。哪个是正确的?

我还注意到您可以通过ajax加载模板,因此该模板不会在DOM中显示,但是我不知道该怎么做。

另外,我目前正在使用玉作为快速视图引擎。是否有必要切换到dust.js?有什么好处?


阅读 214

收藏
2020-07-07

共1个答案

一尘不染

这是LinkedIn Dust JS
Wiki页面,可以回答您的问题,并提供了很好的示例:http :
//linkedin.github.com/dustjs/

但是在这里回答您的问题:

是的,您需要编译您的灰尘模板,该模板成为一个JavaScript文件,您可以按<script>标记将其添加到页面中,然后调用
dust.render 方法呈现模板。这是一个例子:

  1. 在模板文件中编写以下代码,并将其另存为 sample.tl

    <p>Hi {firstName} {lastName}</p>
    
  2. dustc sample.tl在命令行中通过将sample.tl编译为sample.js 或用于dust.compile("your_template_code", "template_name")编译模板并将输出保存在JavaScript文件(sample.js)中,或者使用ustust.js通过nodejs监视和编译模板:https:// github .com / dmix / dusterjs

  3. 在您的html中添加sample.js:

    <script type="text/javascript" src="sample.js"></script>
    

这也会将您的模板注册到dust.cache。

  1. 在您的JavaScript中:

    var your_json = {firstName:'James', lastName:'Smith'};
    

    dust.render(‘sample’, your_json, function(err, out){

    your_dom_element.innerHTML = out;
    

    });

以上dust.render方法的结果将是 <p>Hi James Smith</p>

因此,您需要将3个参数传递给dust.renderdust.render(template_name, json, callback)

2020-07-07