ASP.NET MVC 4 Minification & Background Images

j'utilise actuellement ASP.NET MVC 4 CSS/Javascript Optimizer. Il fonctionne bien avec mon propre CSS / JavaScript, mais je veux aussi l'utiliser avec des plugins. Chaque plugin a son propre dossier:

~/Content/css // my own css, ok
~/Content/plugins/rateit
~/Content/plugins/chosen
~/Content/plugins/...

je peux ajouter ces fichiers à optimizer:

var bundle = new Bundle("~/Content/opt", new CssMinify());
...
bundle.AddFile("~/Content/plugins/chosen/chosen.css", "*.css");
BundleTable.Bundles.Add(bundle);

mais dans ce cas, après optimisation, css est dans un autre dossier et le navigateur ne peut plus trouver les images de fond. Est-il une solution pour modifier automatiquement css chemin de fond les images?

je peux copier tous les plugins dans un dossier, mais avec beaucoup de plugins, c'est pas une bonne idée.

8
demandé sur user1224129 2012-03-20 05:00:50

2 réponses

pourrait avoir un regard sur RequestReduce . C'est un autre minificateur/bundler basé sur.net et il réécrira toutes les urls dans les css minifies/bundled pour être absolu. Cela inclut les polices de caractères et les images d'arrière-plan. Il étendra automatiquement toutes les importations dans le css. En outre, là où il pense qu'il peut, il sprite les images de fond.

4
répondu Matt Wrock 2012-03-20 10:51:17

j'ai eu le même problème... J'ai utilisé pour regrouper jQuery UI CSS avec mon propre, mais comme vous l'avez mentionné, plug-ins utilise son propre répertoire. Dans mon cas, c'était:

~/Content/Site.css
~/Content/themes/base/*.css

ce paquet miniifié cherche toutes les images dans ~/Content/ de sorte que l'interface utilisateur jQuery cesse de fonctionner correctement. Donc la seule façon de résoudre ceci est de séparer ces CSS (le mien et celui de jQuery UI).

BTW: avant cela, je ne comprenais pas pourquoi les CSS sont groupés (dans le modèle MVC4) comme ~/content/ au lieu de ~/bundles/ . Maintenant je sais que c'est à cause d'un problème avec le chemin vers les images dans le répertoire Content .

4
répondu Hubo 2013-06-20 15:22:47