因此,我们在我们的 Spring
元素中使用了 Jawr
,并且一切正常,除了当我尝试包含一个 css
时像这样的文件:
<jwr:style src="/assets/css/style2.css" />
它包含css目录下的所有文件
<link rel="stylesheet" type="text/css" media="screen" href="/assets/css/non-responsive.css?d=35303629" />
<script type="text/javascript">/* The resource '/assets/css/non-responsive.css' is already included in the page. */</script>
<link rel="stylesheet" type="text/css" media="screen" href="/assets/css/style1.css?d=48250928" />
<link rel="stylesheet" type="text/css" media="screen" href="/assets/css/style2.css?d=444574087" />
<link rel="stylesheet" type="text/css" media="screen" href="/assets/css/style3.css?d=68336060" />
<script type="text/javascript">/* The resource '/assets/css/style3.css' is already included in the page. */</script>
<script type="text/javascript">/* Finished adding members resolved by /assets/css/style2.css */</script>
<script type="text/javascript">/* Start adding members resolved by '/assets/js/summary.js'. Bundle id is: '/assets/js/summary.js' */</script>
<script type="text/javascript" src="/assets/js/summary.js?d=82086305" ></script>
<script type="text/javascript">/* Finished adding members resolved by /assets/js/summary.js */</script>
如最后两行所示,这适用于单个 JS 文件,但出于某种原因不适用于 CSS 文件。 我是否遗漏了什么,或者我应该以传统方式包含文件?
最佳答案
因为 assets/css/
中的所有内容都被 Jawr 视为变体皮肤,所以它会加载所有文件。
您只需在文件夹中包含该样式即可加载单个文件。
有关详细信息,请参阅 https://jawr.java.net/tutorials/howToUseJawrCssSkin.html ,但以下部分是您的问题的摘录:
为了定义 CSS 皮肤,Jawr 使用目录层次结构约定。 用户需要定义默认的 CSS 皮肤根目录。在同一级别定义的所有目录都将被视为皮肤变体。 要定义默认皮肤根目录,用户必须设置属性 jawr.css.skin.default.root.dirs。 此属性定义默认 CSS 根目录的列表。因此,使用 Jawr,您可以处理多个 CSS 皮肤根目录。
例如,如果您将默认皮肤根目录定义为:/css/skins/defaultSkin。 你有一个像这样的目录结构:
如果您将 Jawr 配置设置为:
jawr.css.skin.default.root.dirs=/css/skins/defaultSkin
Jawr 会将 blueSkin 和 greenSkin 视为 defaultSkin 的变体。
关于java - Jawr 不能包含单个 CSS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26168777/