在没有投影仪的情况下渲染 Maquette

Render Maquette without the Projector

我想使用 Maquette 作为基本的超脚本语言。因此,我不想使用 maquette.projector。但是,我很难让任何 maquette.dom 功能发挥作用。

var h = maquette.h;
var dom = maquette.dom;
var svg = h('div.sweet', [
  h('svg', [
    h('circle', { cx: '2cm', cy: '2cm', r: '4cm', fill: 'red' }),
  ])
]);

document.addEventListener('DOMContentLoaded', function () {
  console.log(svg);
  var root = dom.create(svg).domNode;
});
<script src="//cdnjs.cloudflare.com/ajax/libs/maquette/2.4.1/maquette.min.js"></script>

我做错了什么?为什么 dom.create 没有渲染任何东西?

很高兴看到您找到了另一个没有投影仪的用例。 dom.create 方法仅创建 DOM 节点,但不会将它们附加到文档中的任何位置。您可以使用 document.body.appendChild(root) 或使用 dom.append(document.body, svg).