6

我正在使用 bundleconfig.cs 类向我的应用程序添加一些 jQuery 脚本文件。

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js",
                    "~/Scripts/jquery-ui-{version}.js",
                    "~/Scripts/jquery.mCustomScrollbar.min.js",
                    "~/Scripts/jquery.mousewheel.min.js",
                    "~/Scripts/jtable/jquery.jtable.js"));

当我运行我的应用程序并检查页面源时,只引用了一些脚本文件:

<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/jquery-ui-1.10.3.js"></script>
<script src="/Scripts/jtable/jquery.jtable.js"></script>
<script src="/Scripts/jquery-migrate-1.2.1.min.js"></script>

为什么会发生这种情况?我可以通过手动将脚本引用直接添加到 _Layout.cshtml 来解决此问题,但这几乎不是最佳实践。

4

2 回答 2

14

.min部分已经由MVC 处理——它将自动包含.js文件用于调试模式和.min.js文件用于发布模式。

只需下载 jquery.mCustomScrollbar.min.js 的未缩小版本并将其放在您的脚本目录中,然后将其引用为: jquery.mCustomScrollbar.js

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

然后 MVC 将为调试/发布加载适当的脚本

于 2013-07-15T09:50:10.653 回答
2

可能是因为您没有启用捆绑。尝试将编译时的调试属性值更改为 false

<compilation debug="false" targetFramework="4.0" />

或者手动启用它:

BundleTable.EnableOptimizations = true;
于 2013-07-15T09:50:20.497 回答