#javascript #dependencies #asp.net-core-mvc #visual-studio-mac
#javascript #зависимости #asp.net-core-mvc #visual-studio-mac
Вопрос:
Я учусь использовать Visual Studio 2017 для Mac для разработки ASP.NET Основные приложения MVC с его помощью. Пока все хорошо, но моя проблема в том, что я не знаю, как обрабатывать библиотеки JavaScript. Предположительно, вы должны использовать Bower (4 зависимости по умолчанию в каждом новом проекте имеют файл .bower.json в соответствующих папках), но в проекте нет файла bower.json, и, честно говоря, я не знаю, с чего начать.
Я предполагаю, что мне следует начать с установки Bower на моем компьютере разработки, но как мне интегрировать его с действием сборки в VS? Я предполагаю, что при правильной сборке Bower должен загрузить и установить все мои зависимости JS.
Я искал ответы, но большинство результатов поиска говорят, что Bower устарел, и я должен использовать LibMan, а руководств по использованию LibMan в macOS нет.
Ответ №1:
Хорошо, попробовав совет за советом, я наконец нашел решение. Публикую здесь на случай, если у кого-то еще возникнет такая же проблема.
Две вещи:
- Решение использует Libman вместо Bower.
- Я полагаю, у вас уже есть VS для Mac и установленный .NET Core SDK, и вы уже создали решение с ASP.NET Основной проект MVC внутри.
Выполните следующее:
- Установите Libman с помощью следующей команды в терминале:
dotnet tool install -g Microsoft.Web.LibraryManager.Cli
- Удалите все папки из
lib/
папки в вашем проекте. У вас будет Libman управлять всеми вашими зависимостями JS. - Добавьте файл JSON в свой проект. Вызовите его
libman.json
. -
Добавьте следующий контент в
libman.json
и сохраните его:{ "version": "1.0", "defaultProvider": "cdnjs", "libraries": [ { "library": "twitter-bootstrap@3.3.7", "destination": "wwwroot/lib/bootstrap" }, { "library": "jquery@1.12.4", "destination": "wwwroot/lib/jquery" }, { "library": "jquery-validate@1.17.0", "destination": "wwwroot/lib/jquery-validation" }, { "library": "jquery-validation-unobtrusive@3.2.9", "destination": "wwwroot/lib/jquery-validation-unobtrusive" } ] }
-
Перейдите в Project > Параметры [ИМЯ_ПРОЕКТА]… и там, в Build > Пользовательские команды, добавьте команду Before build. Команда есть
/Users/[YOUR_USERNAME]/.dotnet/tools/libman restore
и в поле Рабочий каталог используйте макрос${ProjectDir}
. Сохраните изменения.
Теперь каждый раз, когда вы компилируете решение (или конкретный проект), Libman извлекает и устанавливает библиотеки, указанные в libman.json
. Если файлы уже находятся в местах назначения, Libman ничего не делает. Если предыдущее выполнение Libman загрузило библиотеки, то оно извлекает их из своего внутреннего кэша.
Надеюсь, это поможет.
Комментарии:
1. вы обычно исключаете
/wwwroot/lib/*
из git?