JavaScript模板引擎可以忽略某些标签<w:t></w:t>吗?

Can javascript template engine ignore some tags <w:t></w:t>?

本文关键字:标签 引擎 JavaScript      更新时间:2023-09-26

我正在开发一个docx模板应用程序。

var data={ firstname:"david", age: 12}
var template= " {{firstname}} is {{age}} years old."

通常,使用上述数据和模板将呈现:

david is 12 years old.

就我而言,模板字符串将首先用Microsoft单词编写,然后我将使用 getOOxml 命令( office.js 库 ),将返回类似这样的东西。

var template = "<w:t>{{</w:t><w:t>firstname</w:t><w:t>}}</w:t> is <w:t>{{</w:t><w:t>age</w:t><w:t>}}</w:t> years old."
我使用 getOOxml

而不是 getText 命令的原因是 OOxml 可以包含格式信息,但文本不能。

我想使用 javascript 模板引擎进行渲染,但 <w:t> 标签阻止模板引擎工作。

有没有一个JavaScript模板引擎可以<w:t>

使用正则表达式在通过车把之前删除这些标签.js或者你正在使用的任何预处理器。

var source = "<w:t>{{</w:t><w:t>firstname</w:t><w:t>}}</w:t> is <w:t>{{</w:t><w:t>age</w:t><w:t>}}</w:t> years old.";
// Remove those tags.
source = source.replace(/'<w':t'>/g, "").replace(/'<'/w':t'>/g, "");
// Run your template through your pre-processor.
var template = Handlebars.compile(source);

演示:https://jsfiddle.net/Ly48395t/