从另一个程序集中获取作为嵌入资源的JS文件ASP.NET MVC4

3

现在我有几个MVC4项目。一些JS文件是所有这些项目共享的,所以我将它们放入专用程序集中,并在更改后将其复制到每个项目中。

我如何将它作为嵌入式资源放入此程序集中,并提取它以与MVC4 bundling一起使用?(是否有获取文件的Bundle对象的方法)

2个回答

2

我该如何将它作为嵌入式资源放入这个程序集中,并在我的项目中提取它以便与MVC4捆绑使用?

你无法这样做。捆绑机制不支持嵌入到程序集中的资源。我建议你将这些共享静态资源托管在CDN(内容传递网络)上,并让所有应用程序都从这个公共CDN引用它们。

你可以像这样启用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")
    );

    ...
}

2
实际上,将嵌入式资源捆绑在一起是可能的,但这并不是完全简单的操作。基本上,您需要创建一个虚拟路径提供程序来引用嵌入式资源,然后捆绑虚拟路径。可以在此处查看示例:http://dotnet.dzone.com/articles/aspnet-bundlingminification。使用传递js/css脚本的控制器也可能有效,但我不确定。 Peter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接