在ASP.NET MVC中合并和压缩JS和CSS

9

我创建了默认的 ASP.NET MVC 3 Web 应用程序。然后我向 \Views\Shared_Layout.cshtml 视图中添加了三个 css 文件和三个 js 文件:

<!DOCTYPE html>
<html>
<head>
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/StyleSheet1.css")" rel="stylesheet" type="text/css" />
    <link href="@Url.Content("~/Content/StyleSheet2.css")" rel="stylesheet" type="text/css" />

    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/JScript1.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/JScript2.js")" type="text/javascript"></script>

</head>
<body>
    <div class="page">
        <div id="header">

当我运行应用程序时,HTML代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>Home Page</title>
    <link href="/Content/Site.css" rel="stylesheet" type="text/css" />
    <link href="/Content/StyleSheet1.css" rel="stylesheet" type="text/css" />
    <link href="/Content/StyleSheet2.css" rel="stylesheet" type="text/css" />

    <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
    <script src="/Scripts/JScript1.js" type="text/javascript"></script>
    <script src="/Scripts/JScript2.js" type="text/javascript"></script>

</head>
<body>
    <div class="page">

有没有可能在MVC中创建一个handler来改变输出HTML的格式,使其看起来像这样:
<!DOCTYPE html>
    <html>
    <head>
        <title>Home Page</title>
        <script src="js.axd=/Scripts/jquery-1.5.1.min.js,/Scripts/JScript1.js,/Scripts/JScript2.js" type="text/javascript"></script>
        <link href="css.axd=/Content/Site.css,/Content/StyleSheet1.css,/Content/StyleSheet2.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
        <div class="page">

所以链接js.axd=/Scripts/jquery-1.5.1.min.js,/Scripts/JScript1.js,/Scripts/JScript2.js将返回所有这些js文件的内容到浏览器,链接css.axd=/Content/Site.css,/Content/StyleSheet1.css,/Content/StyleSheet2.css将返回所有css文件的内容。
我之前在ASP.NET中使用IHttpHandler做过一些事情,但是在MVC中不知道该如何做,因为我只是MVC的新手。
任何帮助和代码示例都将不胜感激。 谢谢!
2个回答

13

0

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