如何在 VS 2017 中为 Mac 启用 Bower?
How to enable Bower in VS 2017 for Mac?
我正在学习使用 Visual Studio 2017 for Mac 来开发 ASP.NET 核心 MVC 应用程序。到目前为止一切顺利,但我的问题是我不知道如何 handle/manage JavaScript 库。假设你必须使用 Bower(每个新项目中的 4 个默认依赖项在各自的文件夹中都有一个 .bower.json 文件),但是项目上没有 bower.json 文件,老实说我不知道在哪里开始。
我想我应该首先在我的开发机器上安装 Bower,但我如何将它与 VS 中的构建操作集成?我假设在正确的构建中,Bower 应该下载并安装我所有的 JS 依赖项。
我搜索了答案,但大多数搜索结果都说 Bower 已被弃用,我应该使用 LibMan,但没有关于在 macOS 上使用 LibMan 的教程。
好的,在尝试了一个又一个提示后,我终于找到了解决方案。在这里张贴以防其他人遇到同样的问题。
两件事:
- 该解决方案使用 Libman 而不是 Bower。
- 我假设您已经为 Mac 安装了 VS,并且安装了 .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_NAME] 选项... 然后在 Build > Custom commands,添加一个Before build命令。命令是 /Users/[YOUR_USERNAME]/.dotnet/tools/libman restore
,在工作目录字段中,使用宏 ${ProjectDir}
。保存更改。
现在,每次编译解决方案(或特定项目)时,Libman 都会获取并安装 libman.json
中记录的库。如果文件已经在它们的目标中,则 Libman 不会执行任何操作。如果之前的 Libman 执行下载了这些库,那么它会从其内部缓存中检索它们。
希望这对您有所帮助。
我正在学习使用 Visual Studio 2017 for Mac 来开发 ASP.NET 核心 MVC 应用程序。到目前为止一切顺利,但我的问题是我不知道如何 handle/manage JavaScript 库。假设你必须使用 Bower(每个新项目中的 4 个默认依赖项在各自的文件夹中都有一个 .bower.json 文件),但是项目上没有 bower.json 文件,老实说我不知道在哪里开始。
我想我应该首先在我的开发机器上安装 Bower,但我如何将它与 VS 中的构建操作集成?我假设在正确的构建中,Bower 应该下载并安装我所有的 JS 依赖项。
我搜索了答案,但大多数搜索结果都说 Bower 已被弃用,我应该使用 LibMan,但没有关于在 macOS 上使用 LibMan 的教程。
好的,在尝试了一个又一个提示后,我终于找到了解决方案。在这里张贴以防其他人遇到同样的问题。
两件事:
- 该解决方案使用 Libman 而不是 Bower。
- 我假设您已经为 Mac 安装了 VS,并且安装了 .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_NAME] 选项... 然后在 Build > Custom commands,添加一个Before build命令。命令是
/Users/[YOUR_USERNAME]/.dotnet/tools/libman restore
,在工作目录字段中,使用宏${ProjectDir}
。保存更改。
现在,每次编译解决方案(或特定项目)时,Libman 都会获取并安装 libman.json
中记录的库。如果文件已经在它们的目标中,则 Libman 不会执行任何操作。如果之前的 Libman 执行下载了这些库,那么它会从其内部缓存中检索它们。
希望这对您有所帮助。