我正在使用Yeoman开发一个AngularJS应用程序。
这个应用程序依赖于jQuery UI,它是通过Bower安装的。以下是我如何包含jQuery UI主题的:
<!-- build:css styles/plugins.css -->
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.core.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.accordion.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.autocomplete.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.button.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.datepicker.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.dialog.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.menu.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.progressbar.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.resizable.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.selectable.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.slider.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.spinner.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.tabs.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.tooltip.css" />
<link rel="stylesheet" href="components/jquery.ui/themes/base/jquery.ui.theme.css" />
<!-- endbuild -->
当构建应用程序时,一切都很顺利,没有出现错误。
然而,在浏览器控制台(使用Chrome),我可以看到jQuery UI日期选择器所需的图像无法找到,因为它在
styles/images/
内查找,实际上它们在components/...
内。我的第一个想法是在CSS中覆盖jQuery UI图像路径,但这似乎不是最好的解决方案。例如: 原始样式:
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/;
}
我的重写
.ui-widget-header .ui-state-error {
background-image: url(../components/jquery.ui/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png);
}
有推荐的解决方案吗?
app/bower_components
下的所有图像都复制到了dist/styles/images
中。由于合并后的CSS位于dist/styles
中,这意味着CSS中对images/someimage
的引用将在分发包中起作用。请参见此代码片段。 - Fernando Correia{ expand : true, flatten : true, cwd : '/bower_components/jquery-ui/themes/*/images', src : '**/*.{png,jpg,jpeg,gif}', dest : '<%= yeoman.dist %>/styles/images' }
但是没有任何反应。 - Watchmaker{ expand : true, flatten : true, cwd : 'bower_components/jquery-ui/themes/base/images', src : '**/*.{png,jpg,jpeg,gif}', dest : '<%= yeoman.dist %>/styles/images' }
顺便说一下,flatten
不是必需的。 - Watchmaker