gpt4 book ai didi

templates - Pug/Jade 获取给定模板中的所有变量

转载 作者:行者123 更新时间:2023-12-04 21:08:13 26 4
gpt4 key购买 nike

对于给定的 Jade/Pug 模板,我想获得模板中出现的所有变量的列表。

我的动机如下:在我的软件中,使用不同的模板来生成一些 HTML 片段。基于给定的上下文(即给定了某些变量的值),我只想建议那些模板,模板中的所有变量都可以分配。

示例:对于模板 myTemplate像这样:

html
head
title= myTitle
body
h1 #{value.headline}
p #{paragraph.text}

我想得到一些这样的输出:
var variableNames = extractVariableNamesFromTemplate('myTemplate');
// variableNames = [ 'myTitle', 'value.headline', 'paragraph.text' ]

是否有现成可用的东西?最好是考虑到所有特定于语言的功能(例如包含、扩展等)的解决方案。

最佳答案

这不是您问题的完整答案,而是一个起点。通过调试 pug 代码,我注意到您可能可以在模板“编译”步骤之一中将插件“ Hook ”到代码中。看 here .
似乎在编译的各个步骤中,您可以访问模板中存在的不同节点。

你也可以看看this ,它似乎几乎提供了您正在寻找的东西。

如果你做类似的事情

var lex = require('pug-lexer');

var filename = 'template.pug';
var src = `
html
head
title= myTitle
body
h1 #{value.headline}
p #{paragraph.text}`;

var tokens = lex(src, {filename});

标记的内容是不同标记的数组,“代码”或“插值代码”类型的标记似乎是不同的变量。

希望这可以帮助

关于templates - Pug/Jade 获取给定模板中的所有变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40515889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com