【发布时间】:2017-09-27 03:12:01
【问题描述】:
我正在尝试创建一个工具来删除在 gulp 进程中运行的特定 xml 标记。这个想法是,对于前端我们有虚拟内容。然而,在后端集成的下一阶段,它采用包装在 xml 标记中的虚拟内容,并根据 xml 标记名称动态插入一些带有变量的后端代码。对于这种情况,有 php,但想法是创建一个工具来插入任何后端代码
我遇到过gulp-remove-code,但问题是它的所有硬编码名称和来自节点模块的index.js 内的正则表达式基于具有特定空格的 cmets 匹配。 "
此外,我查看了gulp-inject-string 以放置在标签之前的新内容。所以最终的想法是标记xml标签名称,在标签上方注入新代码,然后删除标签中的所有内容。
//markup.html
<div class="home">
// some text
<div class="home__text">
<cms_home_text>
My dummy text
</cms_home_text>
</div>
// an image
<div class="home__image">
<cms_home_image>
<img src="someImage.png" alt="some alt" />
</cms_home_image>
</div>
// a link
<div class="home__link">
<cms_home_link1>
<a href="someLink1.html">here</a>
</cms_home_link1>
</div>
// another link
<div class="home__link">
<cms_home_link2>
<a href="someLink2.html">here</a>
</cms_home_link2>
</div>
</div>
变成
//markup.php
<div class="home">
// some text
<div class="home__text">
<?php $cms_home_text ?>
</div>
// an image
<div class="home__image">
<img src="<?php $cms_home_image ?>" alt="<?php $cms_home_image_alt ?>" />
</div>
// a link
<div class="home__link">
<a href=<?php $cms_home_link1 ?>">
<?php $cms_home_link1_text ?>
</a>
</div>
// another link
<div class="home__link">
<a href=<?php $cms_home_link2 ?>">
<?php $cms_home_link2_text ?>
</a>
</div>
</div>
【问题讨论】:
标签: html xml gulp continuous-integration devops