0

我想创建静态 html 页面并将内容绑定到 javascript 对象,我知道有一个名为 MetalSmith-layout 的插件将值从 markdown 文件绑定到 html,但就我而言,绑定值是动态的,所以我无法准备静态降价,否则我必须在火上创建降价文件。

所以对于我的问题,有没有更好的方法来绑定模板和 javascript 对象,就像 Express 路由器一样?如

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('homepage', vm);
});

主页.swig

<html>
...
    <div>{{ firstName }}</div>
    <div>{{ lastName }}</div>
...
</html>

vm.json

{
   "firstName":"Tom",
   "lastName":"Hansk"
}
4

1 回答 1

0

我刚刚发现我可以在元数据中添加我的视图模型,并且每个布局页面都可以访问这个全局对象。

var viewModel = 
{                   
    firstName: "Tom",
    lastName: "Hanks"
};

Metalsmith(__dirname)         // __dirname defined by node.js:
                          // name of current working directory
  .metadata(viewModel)   // add any variable you want
                          // use them in layout-files
   ...
   .use(layouts({              // wrap layouts around html
     engine: 'handlebars',     // use the layout engine you like
   }))
   ...

模板.html

<html>
...
  <div>{{ firstName }}</div>
  <div>{{ lastName }}</div>
...
</html>  

来源:https ://github.com/segmentio/metalsmith/blob/master/examples/static-site/index.js

于 2017-08-20T09:21:27.003 回答