MVC 4 Bundle - 无法捆绑内容,例如MVC项目内容文件夹外的css / javascript

时间:2013-01-17 09:22:08

标签: asp.net-mvc-4 bundle

对于MVC 4项目,我要求包含/捆绑驻留在MVC项目之外的内容文件,例如在CDN的某个地方。

这有效:

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/Css/site.css"));

这不起作用:

bundles.Add(newStyleBundle("~/Content/css").Include("D:/Media/Styles/Css/site.css"));

我得到的错误是:

  

网址“D:/Media/Styles/Css/site.css”无效。只有申请   允许相对URL(〜/ url)。参数名称:virtualPaths

简而言之,是否可以让资产文件驻留在项目的Content文件夹之外,例如在使用CDN时?如果是这样,最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

您只能使用相对路径和CDN。资源可以位于“内容”文件夹之外,因此您可以将它们放在站点内的其他文件夹中。

You can also use a CDN like this

public static void RegisterBundles(BundleCollection bundles)
{

    bundles.UseCdn = true;   //enable CDN support

    //add link to jquery on the CDN
    var jqueryCdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js";

    bundles.Add(new ScriptBundle("~/bundles/jquery",
                jqueryCdnPath).Include(
                "~/Scripts/jquery-{version}.js"));

    // Code removed for clarity.
}