我需要将jstree(版本3.3.4)作为jowerter项目(jhipster版本2.20.0 - 不是当前版本!)的bower依赖项添加。部署jhipster应用程序时缺少jstree图标
使用dev配置文件或从我的IDE启动应用程序时,一切正常。 但是,当我使用生产配置文件进行部署时,打包.war文件时,项目的.css文件会合并到一个名为assets/styles/something.vendor.css
的大文件中,而图像似乎被复制到assets/images/
。 Web浏览器结束了询问assets/styles/32px.png
,导致404 而是在使用dev的外形,风格和图片都来自bower_components/jstree/dist/themes/default/
加载,但jstree似乎期望它直接referncing他们的图标旁边的CSS文件(例如background: url(32px.png)
)。
我的尝试:
我设法通过添加例如
.jstree-default .jstree-file {
background: url(../images/32px.png) -100px -68px no-repeat !important
}
到项目主css文件(src/main/webapp/assets/styles/main.css
)和手动添加图像assets/images
覆盖的一些规则。
但jstree似乎将大多数图标打包成一个.png文件 - 然后根据使用css规则需要哪个图标来移动/剪切它。这使得很难让它看起来很正确。
用我的方式图标可以加载 - 但他们应该对一些(未知),因此,它们不切:
于是,我就重写属性像repeat: no-repeat
或background-color: transparent
以及(根据我的理解,它们应该已经存在,因为它们是jstree的css的一部分,并且不会被我的规则覆盖),但规则似乎太复杂,我无法让它看起来正确,我希望有更好的解决方案。
如何解决这个问题,而不必'重写'/覆盖大部分jstree的css规则?
了解JHipster prod构建过程并通过配置或b从其中排除jstree y手动将jstree移动到另一个文件夹中(不使用bower)。 –