角。从 html 标记中删除属性的构建步骤

Posted

技术标签:

【中文标题】角。从 html 标记中删除属性的构建步骤【英文标题】:Angular. Build step to remove attribute from html markup 【发布时间】:2019-11-18 14:55:57 【问题描述】:

我们在标记中使用“data-test”属性来查询测试中的元素。例如:

<div data-test='myDiv'></div>

我们不希望此属性出现在生产版本中。到目前为止,我找到了一种解决方法来创建一个指令,该指令在运行时删除生产构建的属性。这肯定会花费一些 CPU 并且似乎值得怀疑。寻找一种在构建时删除属性的方法。欢迎任何想法。

【问题讨论】:

用正则表达式删除属性的脚本怎么样? @riorudo 请您详细说明:何时以及如何删除?在 package.json 生产构建脚本的源代码中删除?不想在某些 webpack 构建步骤中在编译期间关心每次构建后还原更改?将有助于链接到合适的 webpack 文档 您可以为此使用自定义 webpack 构建器 - github.com/just-jeb/angular-builders/tree/master/packages/… @IAfanasov 我正在寻找同样的东西.. 不幸的是我找不到任何东西:/您是否设法在您的应用程序中解决了这个问题? 不。看起来像一个自定义的 webpack 插件可以做到这一点。如果你设法做到了,将感谢分享它(: 【参考方案1】:

查看这篇文章,了解如何在编译(使用 webpack 加载器)或运行时(使用指令)期间删除 data-cy 属性。您可以对任何data-* 属性执行完全相同的步骤(并忽略赛普拉斯的东西)。只需将 data-cy 表达式替换为 data-test 即可。

https://medium.com/agilix/angular-and-cypress-data-cy-attributes-d698c01df062

这至少适用于 Angular6+。

【讨论】:

以上是关于角。从 html 标记中删除属性的构建步骤的主要内容,如果未能解决你的问题,请参考以下文章

从 HTML 标记中删除某些属性

从 HTML 标记中删除样式属性

构建步骤“执行 Windows 批处理命令”在詹金斯中将构建标记为失败

构建步骤“执行 shell”在 Jenkins CI 上将构建标记为失败,没有任何错误

构建步骤“执行 Windows 批处理命令”将构建标记为失败已完成:失败

sh Xcode构建步骤以查找FIXME并根据构建配置将其标记为警告/错误。