我们的一些 CSS 文件包含可能因部署位置(开发、QA、产品)而异的参数。例如:
background: url(#DOJO_PATH#/dijit/themes...)
以避免硬编码特定 CDN 或本地托管 Dojo 安装的路径。
当部署脚本将 webapp 的内容复制到 Tomcat webapps 目录中时,这些值会以文本形式替换为实际值。这样,相同的部署存档文件(包含其他配置的 WAR + TAR 文件)可以部署到 dev、QA 和 prod,并使用特定于环境的配置文件提供的不同参数。
但是,我想让 WAR 的内容(包括模板化的 CSS 文件)独立于这个内部部署脚本。由于我们无法真正控制部署脚本,所以我能想到的就是#DOJO_PATH#
在应用程序的 context.xml 中将 Tomcat 配置为环境变量等,并使用 Tomcat 在运行时将这些参数插入 CSS。
我可以将 CSS 文件制作成生成的 JSP,但对我来说似乎有点难看。此外,每个应用程序部署只需要进行一次替换,因此使用 JSP 重复动态生成样式表将是相当浪费的。
有没有人有任何替代的想法或工具可以用于此?我们致力于 Tomcat 并在部署或运行时(即,不是在构建时)替换这些参数。