asp.net mvc 4 - mvc 4 Bundle -无法在mvc项目内容文件夹外捆绑内容,例如css/javas



对于MVC 4项目,我有一个要求,包括/bundle内容文件驻留在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"));
我得到的错误是:

URL 'D:/Media/Styles/Css/site.css'不合法。只有应用程序允许使用相对url (~/url)。参数名称:virtualPaths

简而言之,是否有可能将资产文件驻留在项目的内容文件夹之外,例如使用CDN时?如果有,最好的方法是什么?

只能使用相对路径和CDN。这些资源可以在Content文件夹之外,因此您可以将它们放在站点内的另一个文件夹中。

你也可以这样使用CDN:

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.
}

相关内容

最新更新