【发布时间】:2016-09-06 02:45:03
【问题描述】:
我正在为 ASP.NET MVC 使用剑道 UI。我已经捆绑了所有的剑道 JS 文件。在本地它工作正常。但是当我将应用程序部署到 Web 服务器时,然后当我浏览页面时,我注意到剑道 javascripts 没有捆绑,因此我收到错误
未捕获的类型错误:jQuery(...).kendoDropDownList 不是函数
这就是我在 _Layout.cshtml 中引用它们的方式
@Styles.Render("~/Content/bootstrap/css")
@Styles.Render("~/Content/kendo-bootstrap/css")
@Styles.Render("~/Content/css")
<link rel="stylesheet" href="~/Content/bootstrap-multiselect.css" type="text/css" />
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/kendo/2016.1.412")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/modernizr")
<script type="text/javascript" src="~/Scripts/bootstrap-multiselect.js"></script>
这是我在浏览器的 F12 中看到的 -> 源选项卡
请注意,jQuery、Modernizer 和 Bootstrap 是捆绑在一起的,但不是 kendo。为什么?
【问题讨论】:
-
文件是否也存在于您正在部署应用程序的服务器上?可能是文件夹和后续文件设置为“复制到输出目录”的“不复制”。
-
服务器上确实存在文件
-
我注意到在您包含的 kendo.timezones.min.js 文件的末尾似乎有一个额外的
s。 (可能只是想指出它以防万一这是问题) - 在本地,您可能正在使用以前工作的缓存版本 -
很好地删除了额外的
s但是没有运气:( -
还有一件事。我正在使用 Jenkins + MSBuild + Publish 选项。所以我基本上已经创建了使用“文件系统”作为发布方法的发布文件。然后我使用 MSBuild 构建和发布应用程序。
标签: javascript kendo-ui asp.net-mvc-5 kendo-asp.net-mvc