Alcuni dei miei stili usano url (../ img/sprites/main_sprite.png) alle risorse locali in fase di sviluppo e di stage. Comunque in produzione io uso CDN e tutte le mie risorse statiche sono su di esso. È possibile trasformare i bundle in modo che tutti gli URL in .css vengano sostituiti con il percorso cdn?Trasforma gli URL degli stili in URL CDN in Bundle e Minimal ASP.NET
Per esempio:
.Logo {
background-image: url(../img/sprites/main_sprite.png);
}
Tuttavia, nella produzione vorrei che fosse
.Logo {
background-image: url(http://MyCdn.com/img/sprites/main_sprite.png);
}
Uso già CssRewriteUrlTransform() per riscrivere i miei percorsi relativi ai assoluta, in modo che le risorse possono essere trovato dopo che hanno impacchettato.
Stavo pensando di estendere la classe come qualcosa di simile
public string Process(string includedVirtualPath, string input)
{
if (_useCdn)
{
return new CssRewriteUrlTransform().Process(_cdn + VirtualPathUtility.ToAbsolute(includedVirtualPath), input);
}
else
{
return new CssRewriteUrlTransform().Process("~" + VirtualPathUtility.ToAbsolute(includedVirtualPath), input);
}
}
Tuttavia, processo deve avere VirtualPath, altrimenti si genera un'eccezione quando aggiungo percorso CDN.
Esiste un equivalente di questa classe per riscrivere gli URL con CDN al suo interno?