我们有一个带有大量 CSS 的大型 ASP.NET MVC 应用程序,大约 105 个不同的文件。这些文件由组件分隔,这使得它们更易于管理。在运行时,我们使用处理程序缩小/组合这些。
此外,我们的应用程序使用皮肤设置;管理员可以自定义站点的字体和颜色。这些皮肤设置使用 NVelocity 注入到 CSS 文件中,虽然它很旧,但性能相当不错。
我想将 CSS 改为使用更少,这将允许更多代码重用和 CSS 文件内部的清洁度。我正在为执行此操作的最佳选择而苦苦挣扎。我目前的思路是这样的:
- 管理员进行皮肤修改,并保存
- 保存时,应用程序会在磁盘上生成一个 skin.less 文件,该文件是包含所有变量的 masterless 文件
- 需要较少变量的后续 CSS 文件在 skin.less 上执行 @import
- 更少的文件在处理程序中被处理和缩小/组合,并提供给客户端。
我的问题是,这似乎是将动态变量提供给较少文件的最佳方法吗?在磁盘上生成 skin.less 文件是我唯一的选择,还是 @import 语句可以引用处理程序本身,因此不需要在磁盘上生成文件?