Избегайте дублирования списков файлов css и js при объединении в ASP. NET Core - PullRequest
0 голосов
/ 19 февраля 2020

Я использую пакетирование и минификацию в ASP. NET Core, основанном на файле bundleconfig.json. Когда я сохраняю файл js или css, все это упаковывается и минимизируется, как и должно быть. Эта часть прекрасно работает.

У меня есть два вопроса.

1. Люди игнорируют сгенерированные пакеты из git?

Я использую конфигурацию, подобную этой:

{
  "outputFileName": "wwwroot/bundles/mybundle.js",
  "inputFiles": [
    "wwwroot/js/file1.js",
    "wwwroot/js/file2.js"
  ],
  "minify": {
    "enabled": true
  },
  "sourceMap": true
}

Оба файла связаны и сведены в файл mybundle.js. Я не уверен, хочу ли я добавить этот файл в git. Он создается каждый раз, когда кто-либо изменяет один из входных файлов. Таким образом, добавление сгенерированного пакета в git может вызвать конфликты, даже если это происходит каждый раз.

2. Есть ли хороший способ не дублировать список файлов?

Ссылка на комплект в порядке. Но локально я хочу включить каждый файл отдельно. ASP. NET имеет метод @Scripts.Render, который будет включать в себя пакет или каждый файл, в зависимости от значения BundleTable.EnableOptimizations. В документации ASP. NET Core рекомендуется использовать помощники тегов среды:

<environment include="Development">
    <script src="~/js/file1.js"></script>
    <script src="~/js/file2.js"></script>
</environment>
<environment include="Production">
    <script src="~/bundles/mybundle.js"></script>
</environment>

Пока это работает, мне придется добавить новый файл js в двух местах: bundleconfig.json и внутри вспомогательного тега Development в моем файле Razor. Есть ли способ сделать это так, чтобы новые файлы добавлялись только один раз?

...