Как связать CSS из основного и индивидуального представлений в .NET Core? - PullRequest
0 голосов
/ 26 апреля 2018

У меня в проекте есть следующее.

_Layout.cshtml - Master page
  <environment names="Development">
      <link rel="stylesheet" href="~/css/site.css" />
  </environment>
  <environment names="Staging,Production">
      <link rel="stylesheet" href="~/css/site.min.css" />
  </environment>

Page1.cshtml   - uses Master page
  <environment names="Development">
      <link type="text/css" rel="stylesheet" href="~/css/page1.css">
  </environment>
  <environment names="Staging,Production">
      <link type="text/css" rel="stylesheet" href="~/css/page1.min.css">
  </environment>        

About.cshtml   - uses Master page
  <!-- no styles specific to the page -->

Я пытаюсь создать пакет, который будет обслуживать css как один файл.Итак, в bundleconfig.json у меня есть следующее:

{
  "outputFileName": "wwwroot/css/site.min.css",
  "inputFiles": [
    "wwwroot/css/site.css"
  ]
},
{
  "outputFileName": "wwwroot/css/page1.bundled.min.css",
  "inputFiles": [
    "wwwroot/css/site.css",
    "wwwroot/css/page1.css"
  ]
}

Поэтому, когда я сервер Page1.cshtml, я изменил свое объявление стиля следующим образом:

<environment names="Staging,Production">
    <link type="text/css" rel="stylesheet" href="~/css/page1.bundled.min.css">
</environment>   

И About.cshtml простоопирается на один файл site.min.css с главной страницы.

Однако в этом случае Page1.cshtml завершает работу как site.min.css (с главной страницы), так и page1.bundled.min.css (который уже включает site.css).Это, очевидно, неправильно.

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

PS Я задавал этот вопрос ранее, но я не объяснил проблему правильно.

...