gulp - 带有 at 符号/asperands (@) 的 Pug 标签名称

标签 gulp pug pugjs

我使用 pug 编写 .json 文件(使用 gulpgulp-puggulp-xml2json 编译>).

它通常工作得很好,但我不知道如何让它处理 json-ld structured data 所需的 asperands (@) 。我尝试过各种类型的 interpolation我可以想到,包括作者针对类似问题建议的方法(参见github上的issue #2783),但没有任何运气。

是否有一个我忽略的简单解决方案?

这有效

// data.json.xml.pug   

root
  context https://json-ld.org/contexts/person.jsonld

编译为

// data.json

{
  "context": "https://json-ld.org/contexts/person.jsonld"
}

这不是

// data.json.xml.pug   

root
  @context https://json-ld.org/contexts/person.jsonld

unexpected text "@cont"

这也不是

// data.json.xml.pug   

root
  #{'@context'} https://json-ld.org/contexts/person.jsonld

Error: Error: Unencoded <

...

Char: @

最佳答案

Answer来自@ForbesLindsay在 GitHub 上(谢谢!)—

#{'@context'}

产生

<@context></@context>

您遇到的问题是 xml2json 不会将其解释为有效的 xml(因为它不是),您需要找出是否有任何有效的 xml 字符串可以生成您的所需的 JSON,然后您就可以弄清楚如何在 pug 中生成该 XML。

关于gulp - 带有 at 符号/asperands (@) 的 Pug 标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50204893/

相关文章:

angularjs - 后端文件作为公共(public)加载 - Angularjs/Node/Gulp

gruntjs - 文件夹命名 : src & dist vs. src & build, dev & dist

node.js - Jade 中的 Foreach 循环(node.js 模板引擎)

node.js - 如何在 pugjs 模板中包含 css 文件

node.js - 将jwt保存到本地存储

javascript - 如何使用 gulp 和 'main-bower-files' 选择缩小的依赖项?

javascript - Babel 和 typeahead 的问题

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

node.js - 引用带有句点的项目的 Jade 模板

visual-studio-2015 - .pug 文件的 Jade 状语法高亮显示 Visual Studio 2015