javascript - 如何在 pug 文件中插入包含 pug 代码的字符串?

标签 javascript express pug string-interpolation

我需要在 pug 文件中插入一个包含一些 pug 格式代码的字符串。

我测试过的内容:

- var text = "i.home.icon"

div= text
div !{text}
div #{text}
div ${${text}}
div {{text}}
div {text}
div \#{text}
div \{text}
div ${text}
div
    #{text}

我想要什么:

<div><i class="home icon"><i></div>

最佳答案

你可以用 mixin 来做到这一点. Here is a codepen这表明它在实际示例中有效。

mixin tagCreator(def)
  - var tagArray = def.split('.');
  - var tag= tagArray[0];
  - tagArray.shift();
  - var classes = tagArray.join(' ');
  |<#{tag} class='#{classes}'>
  if block
    block
  |</#{tag}>

+tagCreator('one')
+tagCreator('two.three.four') Two

上面的代码创建了这个 HTML:

<one class=""></one>
<two class="three four">Two</two>

逐行快速解释它的作用:

  1. 将句点分隔的字符串拆分成一个数组
  2. 单独存储标签名称
  3. 删除数组中的第一个元素
  4. 将数组的其余部分加入适合于 class="" 输出的以空格分隔的字符串
  5. 使用管道分隔符输出 plain text用类标记
  6. 如果存在则输出添加到标签的任何内容
  7. 关闭标签,再次使用纯文本

关于javascript - 如何在 pug 文件中插入包含 pug 代码的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53961247/

相关文章:

javascript - 如何更改选定的 react 选择输入颜色?

javascript - 网站上的 secret 按钮

javascript - 如何使用expressjs将数据从一个路由传递到另一个nodejs

javascript - 尝试加载 map 框时收到错误消息

javascript - 从数千个链接中提取图像 src 属性 - 使用 JavaScript 实现任务自动化

javascript - 如何在 Javascript 中对 Array map() 函数输出进行排序

node.js - 如何让expressjs像facebook一样支持批量请求

express - 带有 Node 和 strong-soap 的 Soap 客户端返回带有证书的错误

javascript - 使用jade导入jQuery(使用node.js + Express)

javascript - Node、Express + Jade 加载脚本一次