Подтвердить что ты не робот

Использование нескольких CDN-ссылок в одном StyleBundle

У меня есть следующий код:

bundles.UseCdn = true;

var fontPath = "http://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,400,600";

var commonCss = new StyleBundle("~/css/common").Include(
    "~/Content/less/myless.less",
    "~/Content/css/opensans.css", // local copy of the font path above
    "~/Content/less/mylessoverrides.less",
    "~/Content/css/font-awesome.css");

commonCss.Transforms.Add(new CssMinify());
bundles.Add(commonCss);

Вышеприведенный код работает отлично. Однако я хотел бы загрузить opensans.css из ссылки CDN выше. Я также хотел бы сохранить его в виде одного пучка и сохранить порядок пакета. Следующий код вызовет ошибку:

var commonCss = new StyleBundle("~/css/common").Include(
    "~/Content/less/myless.less",
    "http://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,400,600",
    "~/Content/less/mylessoverrides.less",
    "~/Content/css/font-awesome.css");

The URL 'http://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,400,600'
is not valid. Only application relative URLs (~/url) are allowed.

Одним из способов было бы разделить его на три пучка, но это было бы против всей цели пучков:

var commonCss1 = new StyleBundle("~/css/common1").Include(
    "~/Content/less/myless.less");

var commonCss2 = new StyleBundle("~/css/common2", fontPath).Include(
    "~/Content/css/opensans.css");

var commonCss3 = new StyleBundle("~/css/common3").Include(
    "~/Content/less/mylessoverrides.less",
    "~/Content/css/font-awesome.css");

Конечным решением было бы сделать что-то вроде:

var commonCss = new StyleBundle("~/css/common").Include(
    "~/Content/less/myless.less",
    new { fontPath, "~/Content/css/opensans.css" },
    "~/Content/less/mylessoverrides.less",
    "~/Content/css/font-awesome.css");

Кто-нибудь еще смог решить эту проблему или удалось расширить структуру, которая позволила бы это поведение?

4b9b3361

Ответ 1

Вы можете просто использовать

@import url("http://fonts.googleapis.com/css?family=Open+Sans:400italic,600italic,400,600");

где вы хотите его в локальном файле css