使用gulp插件gulp-aotuprefixer-html给html中的样式自动加前缀出现副作用
使用gulp插件gulp-aotuprefixer-html,之后发现生成的自动加了前缀的html文件中的汉字都被(除了注释中的)转化成了特殊字符,我只想给style标签中的样式自动加前缀,不想动其他部分,看了下gulp-aotuprefixer-html的源码也没看太明白,只知道转化过程中html文件被转换成了字符串,这个问题怎么办呢?怎么样只操作style标签不影响其他部分的文字呢?
还有其他影响:
单标签闭合用的/被去掉了:
没属性值得属性被加了空值比如v-clock变成了v-clock=""
link和script标签中的单引号被转换成了双引号,
整体像被格式化了一遍
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个插件用到了
cheerio
这个模块,效果就是这样的。中文的问题可以解决,cheerio带入参数
decodeEntities: false
就可以避免中文被转码。其他问题应该都不是大问题。
其实在HTML5的规范里,自闭合标签结尾不写斜杠才是规范。
要解决楼主的问题只能用node把html里的style提取出来,处理后再replace掉。示例代码如下: