【问题标题】:Getting a JS error when publishing site发布网站时出现 JS 错误
【发布时间】:2015-04-02 18:11:41
【问题描述】:

当我发布我的网站时得到一个:Error: ReferenceError: $ is not defined。 即使我在布局页面中添加了 JQuery 库,现在也在抱怨找不到 JQuery 库的 partialView 上 这是我引用它的方式:

<script src="~/Scripts/jquery-1.10.2.min.js"></script>

当我在本地运行网站时,它运行良好,没有 JS 错误,但它一发布就开始抱怨。通常我会在我的问题中添加代码,但我不确定要添加什么代码。我只想知道在发布站点时加载 js 文件的方式是否与在本地运行时不同。有没有人遇到过这样的错误?

第二个想法,我会尝试添加代码。抱怨的代码是这样的: (而且是局部视图)

<script type="text/javascript">
    $(document).ready(function () {
        $('#slider').rhinoslider();

        $("#sliderHolderQitoz").toggle("fade", 6000);
    });    
</script>

我的布局是这样的:

 <html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title</title>

    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")

    <script src="~/Scripts/jquery-1.10.2.min.js"></script>
    <script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>

    <link href="~/Content/rhinoslider-1.05.css" rel="stylesheet" />

    <link href="~/Scripts/jquery-ui.min.css" rel="stylesheet" />
    <script src="~/Scripts/jquery-ui.min.js"></script>
    <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
    <script src="~/Scripts/OwnedScripts/InitializeUI.js"></script>
    <script src="~/Scripts/OwnedScripts/Dialogs.js"></script>
    <script src="~/Scripts/OwnedScripts/Misc.js"></script>

    <script src="~/Scripts/ExtraScripts/rhinoslider-1.05.min.js"></script>
    <script src="~/Scripts/ExtraScripts/rhinoslider-1.05.js"></script>
    <script src="~/Scripts/ExtraScripts/mousewheel.js"></script>
    <script src="~/Scripts/ExtraScripts/easing.js"></script>

再次,在本地运行/调试时,一切正常,发布后出现错误

【问题讨论】:

  • 尝试使用MVC @Url.Content

标签: jquery asp.net-mvc visual-studio


【解决方案1】:

您是否尝试手动检查“真实”路径? 在我看来,您在本地和服务器上有不同的相对路径。

尝试替换 使用标准 HTML 脚本在本地和服务器上检查它。

【讨论】:

  • 你到底是什么意思:尝试用标准的 HTML 脚本替换。我不关注:)
  • 你说得对,我有点笨。您在纯 html
【解决方案2】:

在花费了不切实际的时间后,我最终发现问题在于该站点无法找到:_ViewStart.cshtml。这在本地运行时工作正常,但在部署网站时就成了问题。由于所有脚本引用都放在:_Layout.cshtml,因此我在页面开始时遇到脚本错误。所以解决方案是添加:

@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}

在索引页面的顶部,那么我们都很好。

有趣的是,我们的程序员最终会花费大量时间来完成具有如此简单解决方案的事情。但问题在于找到实际的原因/问题,以便能够应用简单的解决方案:D

【讨论】:

    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    相关资源
    最近更新 更多