Используйте «Сценарии» и «Стили» в ASP.NET Core, который происходит от Microsoft.AspNet.Web.Optimization (.net-framework) - PullRequest
0 голосов
/ 28 июня 2019

У меня есть простой проект ASP.NET MVC, который мне нужно перенести на ASP.NET Core.В представлении (.cshtml) я нашел такие элементы, как @Styles.Render("...") или @Scripts.Render("..."):

<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width" />
        <title>@ViewBag.Title</title>
        @Styles.Render("~/Content/css")
        @Scripts.Render("~/bundles/jquery")
        <script src="~/Scripts/script1.js"></script>
    </head>
</html>

Я обнаружил, что он находится в пакете Microsoft.AspNet.Web.Optimization на основе .NET-Framework .

Как перенести это в .NET Core ?

Ответы [ 2 ]

1 голос
/ 28 июня 2019

Вы не можете. Этот пакет предназначен для ASP.NET, а не для ASP.NET Core. Тем не менее, вам все равно это не нужно. Единственная точка для этой статики заключалась в том, чтобы связать ее с инфраструктурой связывания в ASP.NET MVC, чтобы на правильный файл ссылались вместе с параметром строки запроса для очистки кэша.

Даже в этом случае они не были строго необходимы, поскольку имя пакета было на самом деле имя файла, которое было сгенерировано, поэтому единственное функциональное различие между @Scripts.Render("~/bundles/jquery") и <script src="~/bundles/jquery"></script> заключалось в том, что первое прикрепил бы параметр очистки кэша.

В ASP.NET Core все это изменилось. Строго говоря, ASP.NET Core требует много времени, когда дело касается статических ресурсов. Вы можете выбрать свою собственную стратегию там. Microsoft предоставляет LibMan, чтобы помочь вам, но чаще всего используется npm с webpack или gulp. В любом из этих случаев вы настраиваете свои "связки" через config. С LibMan есть libman.json. С npm вы делаете это немного больше вручную с помощью webpack.config.js или gulpfile.js, в зависимости от того, используете ли вы webpack или gulp, соответственно.

Конечным результатом любого из них будет то, что вы получите в комплекте и минимизированные файлы css / js в вашем каталоге wwwroot/lib. Затем вы просто ссылаетесь на них с помощью обычного тега script:

<script src="~/lib/jquery/jquery.min.js"></script>

Чтобы добавить запрос очистки кэша, вы можете использовать атрибут asp-append-version ScriptTagHelper:

<script src="~/lib/jquery/jquery.min.js" asp-append-version="true"></script>
0 голосов
/ 28 июня 2019

Ну, в 2019 году мы больше не используем такие вещи.Что если я скажу вам, что вы должны использовать веб-пакет или более старый - глоток или ворчание для минимизации и комбинации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...