Как использовать пачки, как в старых mvc - PullRequest
1 голос
/ 13 января 2020

Я перевожу старое 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?

...