我正在学习使用Visual Studio 2017 for Mac来开发ASP.NET Core MVC应用程序。到目前为止,还不错,但是我的问题是我不知道如何处理/管理JavaScript库。假设您必须使用Bower(每个新项目中的4个默认依赖项在其各自的文件夹中都有一个.bower.json文件),但是项目上没有bower.json文件,老实说,我不知道从哪里开始。
我认为应该从在开发计算机中安装Bower开始,但是如何将其与VS中的构建动作集成?我假设在适当的构建中,Bower应该下载并安装我的所有JS依赖项。
我已经搜索了答案,但是大多数搜索结果都表明Bower已过时,我应该使用LibMan,并且没有关于在macOS上使用LibMan的教程。
最佳答案
好吧,在尝试了几次技巧之后,我终于找到了解决方案。如果有人遇到相同的问题,请在此处发布。
两件事情:
该解决方案使用Libman代替Bower。
我想您已经安装了VS for Mac和.NET Core SDK,并且已经创建了一个内部带有ASP.NET Core 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": "[email protected]",
"destination": "wwwroot/lib/bootstrap"
},
{
"library": "[email protected]",
"destination": "wwwroot/lib/jquery"
},
{
"library": "[email protected]",
"destination": "wwwroot/lib/jquery-validation"
},
{
"library": "[email protected]",
"destination": "wwwroot/lib/jquery-validation-unobtrusive"
}
]
}
转到“项目”>“ [PROJECT_NAME]”选项...,然后在“构建”>“自定义命令”中添加一个“先构建”命令。该命令为
/Users/[YOUR_USERNAME]/.dotnet/tools/libman restore
,在“工作目录”字段中,使用宏${ProjectDir}
。保存更改。现在,每次编译解决方案(或特定项目)时,Libman都会获取并安装
libman.json
中记录的库。如果文件已在目标位置,则Libman不会执行任何操作。如果先前的Libman执行下载了这些库,那么它将从其内部缓存中检索它们。希望这可以帮助。