JavaScript не работает при публикации моего приложения asp.net.core 2.0 в IIS - PullRequest
0 голосов
/ 28 мая 2018

Я новичок здесь.У меня есть VS2017 asp.net C # веб-приложение.Я не использую Angular на данном этапе.Это простой сайт.

Я скрываю div, и когда пользователь нажимает на элемент меню, появляется соответствующий div, а я скрываю остальные div.Для этого я использую JavaScript.

В разработке и IIS Express это работает.Когда я публикую в IIS, это не работает.На статической странице отображается ОК, но кнопка меню ничего не делает.

Если я нажму F12, я увижу, что ошибок нет.Я также вижу, нажимаю ли я вкладку Сеть, что мой скрипт site.js, похоже, не загружен.

Я смотрел на теги Environment (не уверен, как их увидеть для выпуска / публикации - хотелось бы увидетьссылка на лучшую документацию, которая прямо говорит мне, как использовать).

В отчаянии я удалил все теги окружения, относящиеся к моим файлам JS.Я знаю, что это неправильный способ сделать что-то, я просто пытаюсь определить местонахождение проблемной области.

Чтобы еще больше упростить ситуацию, я вставил alert("hi") прямо в свой файл JS, чтобы он появлялся, когдаЯ захожу на сайт, но это не так.

Это моя страница _Layout.cshtml:

<!DOCTYPE html>
<html style="height: 101%">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"]</title>

    <environment include="Development">
        <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
        <link rel="stylesheet" href="~/css/site.css" />
    </environment>
    <environment exclude="Development">
        <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
              asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
              asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
        <link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
    </environment>
</head>
<body>
    <nav class="navbar navbar-inverse navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                @*<a asp-area="" asp-controller="Home" asp-action="Index" class="navbar-brand">Informed Products</a>*@
                <a id="InformedServices" style="cursor: pointer" class="navbar-brand">Informed Services</a>
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    @*<li><a asp-area="" asp-controller="Home" asp-action="Index">Home</a></li>
        <li><a asp-area="" asp-controller="Home" asp-action="About">About</a></li>*@
                    @*<li><a asp-area="" asp-controller="Home" asp-action="Contact">Contact</a></li>*@



                    <li><a id="HowWeWork" style="cursor: pointer">How We Work</a></li>
                    <li><a id="Pricing" style="cursor: pointer">Adaptive Pricing Service</a></li>
                    <li><a id="About" style="cursor: pointer">About</a></li>
                    <li><a id="ContactUs" style="cursor: pointer">Contact Us</a></li>
                </ul>
            </div>
        </div>
    </nav>
    <div class="container body-content">
        @RenderBody()
        <hr />
        <footer>
            <p>&copy; 2018 - Informed Services</p>
        </footer>
    </div>

    @*<environment include="Development,Production">*@
        <script src="~/lib/jquery/dist/jquery.js"></script>
        <script src="~/lib/bootstrap/dist/js/bootstrap.js"></script>
        <script src="~/js/site.js" asp-append-version="true"></script>
    @*</environment>
    <environment exclude="Development">*@
        <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js"
                asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
                asp-fallback-test="window.jQuery"
                crossorigin="anonymous"
                integrity="sha384-K+ctZQ+LL8q6tP7I94W+qzQsfRV2a+AfHIi9k8z8l9ggpc8X+Ytst4yBo/hH+8Fk">
        </script>
        <script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/bootstrap.min.js"
                asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
                asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
                crossorigin="anonymous"
                integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa">
        </script>
        <script src="~/js/site.min.js" asp-append-version="true"></script>
    @*</environment>*@

    @RenderSection("Scripts", required: false)
</body>
</html>

В моем файле site.js:

$(document).ready(function () {

    alert("b");

});

Обновление

Я обнаружил, что на сервере site.js выглядит нормально, но site.min.js пусто.Что может быть причиной этого?

1 Ответ

0 голосов
/ 28 мая 2018

Похоже, ваш процесс минимизации нарушен для файла site.js.В качестве временного промежутка вы можете изменить свой веб-сайт на использование полной версии, при условии, что вы не возражаете против того, чтобы люди видели исходный код.

Для этого измените следующую строку, указав вместо нее site.js:

<script src="~/js/site.min.js" asp-append-version="true"></script>

Я бы порекомендовал вам по-прежнему искать причину сбоя минимизации в вашем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...