我正在与Yeoman一起开发AngularJS应用程序。Yeoman供应商图片路径在构建应用程序时不正确
该应用程序依赖于与Bower一起安装的jQuery UI。这是我如何包括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 Datepicker所需的图像,因为它看起来在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);
}
任何推荐的解决方案?
它对我很好,修改了在'bower_components'下分发图像的路径。 – 2013-12-10 21:31:58
@Fernando你只是将样式目录更改为bower_components? – grant 2014-04-18 17:19:06
@grant,就我而言,我将'app/bower_components'下的所有图像复制到'dist/styles/images'中。由于整合的CSS位于'dist/styles'中,这意味着在CSS中对'images/someimage'的引用将在分发包中起作用。看[这个要点](https://gist.github.com/fernandoacorreia/11062046)。 – 2014-04-18 20:06:11