网站未加载 jQuery 捆绑包
Website not loading jQuery with bundles
我有一个 MVC5 应用程序,使用 c#,HTML 和 jQuery。
在我的本地主机上一切正常,我没有重大错误。但是,当我发布项目(right-click project -> publish)并将结果发送到 Public 服务器时,到处都是加载错误:
我已经检查了生成的 ZIP 文件,我 100% 确定所有 jQuery 文件都在里面,所以文件没有丢失。
此时我认为可能存在加载问题或其他问题,但我不知道它可能是什么。是什么导致我的服务器无法加载 jQuery?
我的 Bundle.cs 文件:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/bootstrap-datepicker.js",
"~/Scripts/bootstrap-editable.min.js",
"~/Scripts/bootstrap-editable.js",
"~/Scripts/bootstrap-switch.js",
"~/Scripts/select2.js",
"~/Scripts/bootstrapSwitch.js",
"~/Scripts/Amaris.XEditable.js",
"~/Scripts/bootstrap-modal.js",
"~/Scripts/AmarisFeedback.js",
"~/Scripts/bootstrap-modalmanager.js"));
bundles.Add(new ScriptBundle("~/bundles/custom").Include(
"~/Scripts/custom.js",
"~/Scripts/fakeauth.js",
"~/Scripts/jquery.dynatree.js",
"~/Scripts/TableFilter.js",
"~/Scripts/PackageScripts.js",
"~/Scripts/MaterialScripts.js",
"~/Scripts/PendingTableScripts.js",
"~/Scripts/NotificationScripts.js"));
// Use the development version of Modernizr to develop with and learn from. Then, when you're
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
//notfitications for all the family! http://www.jqueryrain.com/?sPi0WIEh
bundles.Add(new ScriptBundle("~/bundles/notifIt").Include("~/Scripts/notifIt.js"));
这是我加载包的地方:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>@ViewBag.Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
@RenderSection("head", required: false)
@RenderSection("head", required: false)
@Styles.Render("~/Content/css")
</head>
<body>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/notifIt")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/custom")
@RenderSection("scripts", required: false)
</body>
问题的根源是VisualStudio本身。
在分析发布项目时由 VS 创建的 ZIP 文件(右键单击 -> 发布)后,我们注意到 ZIP 文件缺少 jQuery 库文件以及其他 JS 文件。
这些文件应该包含在解决方案中,但由于我们无法理解的原因,它们没有。
为了解决这个问题,我们不得不从项目中手动删除受影响的文件(通过将它们复制到安全位置,然后在项目中删除它们),重新编译项目,然后再次添加文件(和重新编译)。
通过这些步骤,VS 并未包含 ZIP 中的所有文件。终于。
我有一个 MVC5 应用程序,使用 c#,HTML 和 jQuery。
在我的本地主机上一切正常,我没有重大错误。但是,当我发布项目(right-click project -> publish)并将结果发送到 Public 服务器时,到处都是加载错误:
我已经检查了生成的 ZIP 文件,我 100% 确定所有 jQuery 文件都在里面,所以文件没有丢失。
此时我认为可能存在加载问题或其他问题,但我不知道它可能是什么。是什么导致我的服务器无法加载 jQuery?
我的 Bundle.cs 文件:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/bootstrap-datepicker.js",
"~/Scripts/bootstrap-editable.min.js",
"~/Scripts/bootstrap-editable.js",
"~/Scripts/bootstrap-switch.js",
"~/Scripts/select2.js",
"~/Scripts/bootstrapSwitch.js",
"~/Scripts/Amaris.XEditable.js",
"~/Scripts/bootstrap-modal.js",
"~/Scripts/AmarisFeedback.js",
"~/Scripts/bootstrap-modalmanager.js"));
bundles.Add(new ScriptBundle("~/bundles/custom").Include(
"~/Scripts/custom.js",
"~/Scripts/fakeauth.js",
"~/Scripts/jquery.dynatree.js",
"~/Scripts/TableFilter.js",
"~/Scripts/PackageScripts.js",
"~/Scripts/MaterialScripts.js",
"~/Scripts/PendingTableScripts.js",
"~/Scripts/NotificationScripts.js"));
// Use the development version of Modernizr to develop with and learn from. Then, when you're
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
//notfitications for all the family! http://www.jqueryrain.com/?sPi0WIEh
bundles.Add(new ScriptBundle("~/bundles/notifIt").Include("~/Scripts/notifIt.js"));
这是我加载包的地方:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>@ViewBag.Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
@RenderSection("head", required: false)
@RenderSection("head", required: false)
@Styles.Render("~/Content/css")
</head>
<body>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/notifIt")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/custom")
@RenderSection("scripts", required: false)
</body>
问题的根源是VisualStudio本身。 在分析发布项目时由 VS 创建的 ZIP 文件(右键单击 -> 发布)后,我们注意到 ZIP 文件缺少 jQuery 库文件以及其他 JS 文件。
这些文件应该包含在解决方案中,但由于我们无法理解的原因,它们没有。
为了解决这个问题,我们不得不从项目中手动删除受影响的文件(通过将它们复制到安全位置,然后在项目中删除它们),重新编译项目,然后再次添加文件(和重新编译)。
通过这些步骤,VS 并未包含 ZIP 中的所有文件。终于。