Я пытаюсь использовать ненавязчивый 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.
Вы можете использовать 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
@lan GM Привет, я обновил свой ответ, чтобы показать способ установки jquery-ajax-unobtrusive
с помощью libman cli.
Это похоже на то, что мне нужно. Я не участвую в проекте до следующей недели, но с нетерпением жду возможности попробовать. Спасибо большое.
Поначалу я тоже боролся с LibMan. Я нашел это руководство, в котором указывается, что у LibMan есть графический интерфейс.. Использование части пользовательского интерфейса LibMan в меню «Проект, щелкнув правой кнопкой мыши -> Добавить -> Клиентская библиотека» помогло мне найти более эффективные способы определить, какие файлы мне нужны, и упростить смену поставщика.
В итоге у меня большая часть файлов пришла из cdnjs, но я настроил jquery-ajax-unobtrusive из unpkg вот так:
{
"provider": "unpkg",
"library": "[email protected]",
"destination": "wwwroot/lib/jquery-ajax-unobtrusive/"
}
Пытался добавить через графический интерфейс ... не вышло. Вставка этого блока в libman.json - сделала. Разве это не ...
Microsoft написала справочный документ по управлению клиентской библиотекой.
https://docs.microsoft.com/en-us/aspnet/core/client-side/libman/libman-vs?view=aspnetcore-2.2
В нем есть инструкции по использованию диалогового окна «Добавить клиентскую библиотеку» в Visual Studio. В обозревателе решений щелкните правой кнопкой мыши папку проекта, в которую нужно добавить файлы. Выберите «Добавить»> «Клиентская библиотека». Появится диалоговое окно «Добавить клиентскую библиотеку».
Привет, @itminus, я думаю, вы упустили суть вопроса. ОП хотел знать, как включить jquery.ajax.unobtrusive в свой проект, поскольку в настоящее время это недоступно на cdnjs. Я тоже хочу этого, и похоже, что многие другие тоже.