Подтвердить что ты не робот

Bundle script файл не отображается.

Script имя файла:

jquery.transit.min.js

Файл находится в папке Scripts,

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/jtransit")
       .Include("~/Scripts/jquery.transit*"));

В моем View,

@Scripts.Render("~/bundles/jquery","~/bundles/jtransit")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")

Представлено HTML

<script src="/Scripts/jquery-1.8.3.js"></script>
<script src="/Scripts/jquery-ui-1.9.2.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>

jquery.transit.min.js не отображается. Что мне не хватает?

4b9b3361

Ответ 1

Я думаю, это будет потому, что у вас есть только .min-версия вашего файла.

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

Если вы должны были выполнить сборку Release, тогда она будет в комплекте в порядке.

Я бы предложил получить неминифицированную версию файла транзита и в том числе в папке Scripts. В противном случае просто копия мини-версии, но без .min в имени файла.

Ответ 2

Начиная с MVC4 любая сводная версия ваших файлов JavaScript или файлов CSS игнорируется в режиме отладки. Как предполагает ngm, вам нужно переименовать свой файл,

jquery.transit.min.js

в

jquery.transit.js

В качестве альтернативы вы можете изменить bundles.IgnoreList, чтобы разрешить свернутые файлы, как показано здесь.

Ответ 3

Мне пришлось сделать это в Application_Start:

BundleTable.EnableOptimizations = true;

Ответ 4

В моем случае я пытался использовать пакет script и набор стиля с тем же именем.

BundleConfig.cs:

bundles.Add(new ScriptBundle("~/bundles/custom")
    .Include("~/Scripts/custom.js"));

bundles.Add(new StyleBundle("~/bundles/custom")
    .Include("~/CSS/custom.css"));

_Layout.cshtml:

@Scripts.Render("~/bundles/custom")
@Styles.Render("~/bundles/custom")

Это не работает. Последний пакет, добавленный в конфиг, сохранился, а @Scripts.Render("~/bundles/custom") просто отображает пустую строку.

Я использую MVC 5.2.3.

Ответ 5

В моем случае Visual Studio 2013 просто подумал, что пакетные файлы css отсутствуют, он показал желтый знак вопроса над именем файла в обозревателе решений.

Просто дважды щелкните все эти якобы отсутствующие файлы, и Visual Studio найдет их, желтый вопрос будет отмечен как увольнение, а объединение начнет работать снова как шарм.

Ответ 6

Если ни один из вышеперечисленных вопросов не может решить вашу проблему, возможно, вам не хватает этой строки

BundleConfig.RegisterBundles(BundleTable.Bundles);

из файла Global.asax.cs, если вы начинаете с комплектации, посмотрите на этот сайт: https://www.asp.net/mvc/overview/performance/bundling-and-minification

Ответ 7

и убедитесь, что вы не используете IE 8. Сбой для меня в этом браузере, но отлично работает в Chrome или Firefox.