Vite插件处理CSS时怎么保留我写的特殊注释?
我在开发一个Vite插件时遇到个怪问题。我给CSS文件加了类似 /* component: header */ 的自定义注释,但构建后这些注释全被删掉了。查文档试过在vite.config.js里设置:
export default {
css: {
// 尝试关闭注释清理但没效果
CodeGen: {
removeComments: false
}
}
}
还是没用。用@vitejs/plugin-css的钩子写插件时,发现transformIndexHtml能处理HTML,但找不到处理CSS的正确钩子。请问要怎么在插件里拦截CSS文件并保留特定注释?
在vite.config.js里这么配置:
关键点是把注释包装成 /*! 这种形式,这种特殊的注释标记会被CSS压缩器保留。我试过这个方法,构建后的代码里注释还在。记得插件要放在其他CSS处理插件之前。
对了,别折腾什么removeComments配置了,那玩意根本不管用。这年头写插件就是得跟压缩器斗智斗勇,累是累点,好歹能解决问题。