如何在 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 项目的解决方案。

执行以下操作:

  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_NAME] 选项... 然后在 Build > Custom commands,添加一个Before build命令。命令是 /Users/[YOUR_USERNAME]/.dotnet/tools/libman restore,在工作目录字段中,使用宏 ${ProjectDir}。保存更改。

现在,每次编译解决方案(或特定项目)时,Libman 都会获取并安装 libman.json 中记录的库。如果文件已经在它们的目标中,则 Libman 不会执行任何操作。如果之前的 Libman 执行下载了这些库,那么它会从其内部缓存中检索它们。

希望这对您有所帮助。