问题
After a lot of searches, I am having difficulties in finding how:
- MJML handles dynamic data and template interpolations
I was expecting something like:
import { mjml2html } from 'mjml';
const context = {
message: 'Hello World'
};
const view = mjml2html(template, context);
<mjml>
<mj-body>
<mj-container>
<mj-section>
<mj-column>
<mj-text>{message}</mj-text>
</mj-column>
</mj-section>
</mj-container>
</mj-body>
</mjml>
回答1:
MJML doesn't handle any templating. If you want templates, use a template engine such as handlebars to render to MJML.
import { compile } from 'handlebars';
import { mjml2html } from 'mjml';
const template = compile(`
<mjml>
<mj-body>
<mj-container>
<mj-section>
<mj-column>
<mj-text>{{message}}</mj-text>
</mj-column>
</mj-section>
</mj-container>
</mj-body>
</mjml>
`);
const context = {
message: 'Hello World'
};
const mjml = template(context);
const html = mjml2html(mjml);
来源:https://stackoverflow.com/questions/43111628/mjml-template-interpolation-dynamic-data-context