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
не отображается. Что мне не хватает?
Ответы
Ответ 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.