Как включить Bower в VS 2017 для Mac?

#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 внутри.

Выполните следующее:

  1. Установите Libman с помощью следующей команды в терминале: dotnet tool install -g Microsoft.Web.LibraryManager.Cli
  2. Удалите все папки из lib/ папки в вашем проекте. У вас будет Libman управлять всеми вашими зависимостями JS.
  3. Добавьте файл JSON в свой проект. Вызовите его libman.json .
  4. Добавьте следующий контент в 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"
            }
        ]
    }
      
  5. Перейдите в Project > Параметры [ИМЯ_ПРОЕКТА]… и там, в Build > Пользовательские команды, добавьте команду Before build. Команда есть /Users/[YOUR_USERNAME]/.dotnet/tools/libman restore и в поле Рабочий каталог используйте макрос ${ProjectDir} . Сохраните изменения.

Теперь каждый раз, когда вы компилируете решение (или конкретный проект), Libman извлекает и устанавливает библиотеки, указанные в libman.json . Если файлы уже находятся в местах назначения, Libman ничего не делает. Если предыдущее выполнение Libman загрузило библиотеки, то оно извлекает их из своего внутреннего кэша.

Надеюсь, это поможет.

Комментарии:

1. вы обычно исключаете /wwwroot/lib/* из git?