MVC 4捆绑软件-无法捆绑内容,例如css/javascript在MVC项目内容文件夹之外 [英] MVC 4 Bundle - unable to bundle content e.g. css/javascript outside MVC project content folder

查看:59
本文介绍了MVC 4捆绑软件-无法捆绑内容,例如css/javascript在MVC项目内容文件夹之外的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于MVC 4项目,我要求包含/捆绑MVC项目外部的内容文件,例如CDN中的某处.

For an MVC 4 project, I have a requirement to include/bundle content files that reside outside the MVC project e.g. somewhere in a 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).参数名称:virtualPaths

The URL 'D:/Media/Styles/Css/site.css' is not valid. Only application relative URLs (~/url) are allowed. Parameter name: virtualPaths

简而言之,例如在使用CDN时,资产文件是否完全可能位于项目的Content文件夹之外?如果是这样,最好的方法是什么?

In short, is it at all possible to have asset files residing outside the project's Content folder, for example when using a CDN? if so, what is the best approach?

推荐答案

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

You can only use relative paths and CDN. The resources can be outside the Content folder, so you can have them in a different folder within your site.

您也可以使用这样的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.
}

这篇关于MVC 4捆绑软件-无法捆绑内容,例如css/javascript在MVC项目内容文件夹之外的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆