Я перевожу старое MVC приложение на новое asp. net ядро и имею дело с новым bundleconfig.json
и с тем, как оно работает.
В старом коде я Раньше у меня было что-то вроде этого:
bundles.Add(new ScriptBundle("~/bundles/appcomponents").Include(
"~/Scripts/js/jquery.js",
"~/Scripts/js/bootstrap.js",
"~/Scripts/js/modernizr.js",
"~/Scripts/js/detect.js",
"~/Scripts/js/fastclick.js",
"~/Scripts/js/jquery.slimscroll.js",
"~/Scripts/js/jquery.blockUI.js",
"~/Scripts/js/waves.js",
"~/Scripts/js/wow.min.js",
"~/Scripts/js/jquery.nicescroll.js",
"~/Scripts/js/jquery.scrollTo.min.js"));
И в моем файле CSHTML
я только что добавил @Scripts.Render("~/bundles/appcomponents")
И у меня может быть несколько пакетов, поэтому в зависимости от вида я могу ссылаться на разные пакеты в зависимости от файлов, необходимых для этого модуля или представления.
В Asp. Net Core Я не знаю, как это сделать.
Я видел, что вы можете добавить файлы для CSS и JS, но только один раз, как будто я не вижу способа иметь несколько пакетов. В этом случае не все модули используют одни и те же файлы CSS и JS, поэтому не имеет смысла всегда извлекать все, поэтому имеет смысл просто использовать необходимые файлы для этого модуля просмотра и, следовательно, из bundleconfig.json
способ иметь несколько пакетов, как в старых mvc проектах.
[
{
"outputFileName": "wwwroot/css/main.min.css",
"inputFiles": [
"wwwroot/css/site.css",
"wwwroot/css/abc01.css"
]
},
{
"outputFileName": "wwwroot/js/main.min.js",
"inputFiles": [
"wwwroot/js/site.js",
"wwwroot/js/abc01.js"
],
"minify": {
"enabled": true,
"renameLocals": true
},
"sourceMap": false
}
]
Кроме того, если я работаю на основе разработки, могу ли я просто ссылаться на свой скрипт как:
<script src="~/js/main.min.js"></script>
Потому что я думаю, main.min.js
генерируется только при сборке для производства. Так что, если это правильно, как вы ссылаетесь, когда dev? Нужно ли включать в мои представления все сценарии и css с помощью тега Environment Include? и затем используйте тег Environment exclude для main.min.js
?