Как использовать Microsoft.jQuery.Unobtrusive.Ajax с libman (диспетчер библиотек) asp.net Core 2.1?

Я пытаюсь использовать ненавязчивый ajax для обновления своих частичных представлений. К сожалению, я столкнулся с проблемой, когда собирался установить пакет, поскольку Bower не работает (?) Или больше не рекомендуется в соответствии с https://docs.microsoft.com/en-us/aspnet/core/client-side/bower?view=aspnetcore-2.1. Вместо этого они рекомендуют нам использовать Libman.

Я выполнил шаги из https://www.c-sharpcorner.com/article/unobtrusive-ajax-and-jquery-for-partial-updates-in-asp-net-mvc/.

Итак, я установил пакет nuget Microsoft.jQuery.Unobtrusive.Ajax, но как мне ссылаться на пакет ajax с помощью libman?

Я посмотрел на этот ответ Как ссылаться на Microsoft.JQuery.Unobtrusive.Ajax в моем проекте ASP.NET Core MVC, но он показывает только, как использовать Bower.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
20
0
6 807
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Вы можете использовать npm. Добавьте файл pakage.json в корень вашего веб-проекта.

{
  "version": "1.0.0",
  "name": "your-system",
  "devDependencies": {
    "jquery-ajax-unobtrusive": "^3.2.4"
  },
  "exclude": [
  ]
}

Теперь все, что связано с библиотекой, будет автоматически загружено в node_modules/jquery-validation-unobtrusive.

Имейте в виду, что папка node_module не является частью проекта, поэтому вам нужно щелкнуть Show All Files, чтобы увидеть все папки.

После этого, если вы хотите всегда иметь последнюю версию библиотеки, вместо копирования файла в папку js, вы можете использовать конфигурацию пакета. Запустите это:

Install-Package BuildBundlerMinifier -Version 2.8.391

После этого создайте файл json - bundleconfig.json в корне вашего веб-проекта.

[ 
  {
    "outputFileName": "wwwroot/js/myjs.min.js",
    "inputFiles": [
      "node_modules/jquery-ajax-unobtrusive/jquery.unobtrusive-ajax.min.js"
    ]
  }

]

Это будет создавать для каждой сборки файл myjs.min.js в вашей папке js в wwwroot.

Ответ @mybirthname отличный. Другой способ сделать это - использовать libman cli. Мы можем использовать следующую команду для установки libman:

dotnet tool install --global Microsoft.Web.LibraryManager.Cli

И теперь вы можете установить jquery, jquery-validation-unobtrusive и так далее, как вам нравится:

чтобы запустить libman.json:

libman init 

для установки зависимости jquery-validation-unobtrusive:

> libman install jquery-validation-unobtrusive
Destination [lib\jquery-validation-unobtrusive]:
lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js written to disk
lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js written to disk
Installed library "[email protected]" to "lib\jquery-validation-unobtrusive" 

чтобы установить зависимость jquery:

> libman install jquery
Destination [lib\jquery]:
lib/jquery/core.js written to disk
lib/jquery/jquery.js written to disk
lib/jquery/jquery.min.js written to disk
lib/jquery/jquery.min.map written to disk
lib/jquery/jquery.slim.js written to disk
lib/jquery/jquery.slim.min.js written to disk
lib/jquery/jquery.slim.min.map written to disk
Installed library "[email protected]" to "lib\jquery"

[Редактировать]

Чтобы установить jquery-ajax-unobtrusive на npm, поскольку его еще нет на cdnjs, мы можем использовать поставщика unpkg:

unpkg is a fast, global content delivery network for everything on npm

libman install -p unpkg jquery-ajax-unobtrusive

Привет, @itminus, я думаю, вы упустили суть вопроса. ОП хотел знать, как включить jquery.ajax.unobtrusive в свой проект, поскольку в настоящее время это недоступно на cdnjs. Я тоже хочу этого, и похоже, что многие другие тоже.

Ian GM 24.10.2018 15:24

@lan GM Привет, я обновил свой ответ, чтобы показать способ установки jquery-ajax-unobtrusive с помощью libman cli.

itminus 24.10.2018 16:00

Это похоже на то, что мне нужно. Я не участвую в проекте до следующей недели, но с нетерпением жду возможности попробовать. Спасибо большое.

Ian GM 25.10.2018 19:21

Поначалу я тоже боролся с LibMan. Я нашел это руководство, в котором указывается, что у LibMan есть графический интерфейс.. Использование части пользовательского интерфейса LibMan в меню «Проект, щелкнув правой кнопкой мыши -> Добавить -> Клиентская библиотека» помогло мне найти более эффективные способы определить, какие файлы мне нужны, и упростить смену поставщика.

В итоге у меня большая часть файлов пришла из cdnjs, но я настроил jquery-ajax-unobtrusive из unpkg вот так:

{
    "provider": "unpkg",
    "library": "[email protected]",
    "destination": "wwwroot/lib/jquery-ajax-unobtrusive/"
}

Пытался добавить через графический интерфейс ... не вышло. Вставка этого блока в libman.json - сделала. Разве это не ...

WernerCD 21.03.2019 03:19

Microsoft написала справочный документ по управлению клиентской библиотекой.

https://docs.microsoft.com/en-us/aspnet/core/client-side/libman/libman-vs?view=aspnetcore-2.2

В нем есть инструкции по использованию диалогового окна «Добавить клиентскую библиотеку» в Visual Studio. В обозревателе решений щелкните правой кнопкой мыши папку проекта, в которую нужно добавить файлы. Выберите «Добавить»> «Клиентская библиотека». Появится диалоговое окно «Добавить клиентскую библиотеку».

Другие вопросы по теме