Partilhar via


Usar a CLI do LibMan com ASP.NET Core

O Library Manager (LibMan) é uma ferramenta leve de aquisição de bibliotecas do lado do cliente. A LibMan baixa bibliotecas e estruturas populares do sistema de arquivos ou de uma rede de distribuição de conteúdo (CDN) . As CDNs suportadas incluem CDNJS, jsDelivre unpkg. Os arquivos de biblioteca selecionados são buscados e colocados no local apropriado dentro do projeto ASP.NET Core.

Prerequisites

Installation

O comando a seguir instala o LibMan:

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

Note

Por padrão, a arquitetura dos binários do .NET a serem instalados representa a arquitetura do sistema operacional em execução no momento. Para especificar uma arquitetura de sistema operativo diferente, consulte dotnet tool install, opção --arch. Para obter mais informações, consulte o issue do GitHub dotnet/AspNetCore.Docs #29262.

Uma ferramenta global .NET é instalada a partir do Microsoft.Web.LibraryManager.Cli pacote NuGet.

Usage

libman

Para visualizar a versão instalada do LibMan:

libman --version

Para visualizar os comandos da CLI disponíveis:

libman --help

O comando anterior exibe uma saída semelhante à seguinte:

 1.0.163+g45474d37ed

Usage: libman [options] [command]

Options:
  --help|-h  Show help information
  --version  Show version information

Commands:
  cache      List or clean libman cache contents
  clean      Deletes all library files defined in libman.json from the project
  init       Create a new libman.json
  install    Add a library definition to the libman.json file, and download the 
             library to the specified location
  restore    Downloads all files from provider and saves them to specified 
             destination
  uninstall  Deletes all files for the specified library from their specified 
             destination, then removes the specified library definition from 
             libman.json
  update     Updates the specified library

Use "libman [command] --help" for more information about a command.

As seções a seguir descrevem os comandos disponíveis da CLI.

Inicializar o LibMan no projeto

O libman init comando cria um libman.json arquivo se ele não existir. O arquivo é criado com o conteúdo do modelo de item padrão.

Synopsis

libman init [-d|--default-destination] [-p|--default-provider] [--verbosity]
libman init [-h|--help]

Opções

As seguintes opções estão disponíveis para o libman init comando:

  • -d|--default-destination <PATH>

    Um caminho relativo à pasta atual. Os arquivos de biblioteca são instalados neste local se nenhuma destination propriedade for definida para uma biblioteca no libman.json. O <PATH> valor é gravado na defaultDestination propriedade de libman.json.

  • -p|--default-provider <PROVIDER>

    O provedor a ser usado se nenhum provedor estiver definido para uma determinada biblioteca. O <PROVIDER> valor é gravado na defaultProvider propriedade de libman.json. Substitua <PROVIDER> por um dos seguintes valores:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg
  • -h|--help

    Mostrar informações de ajuda.

  • --verbosity <LEVEL>

    Defina o nível de detalhe da saída. Substitua <LEVEL> por um dos seguintes valores:

    • quiet
    • normal
    • detailed

Examples

Para criar um libman.json arquivo em um projeto ASP.NET Core:

  • Navegue até a raiz do projeto.

  • Execute o seguinte comando:

    libman init
    
  • Digite o nome do provedor padrão ou pressione Enter para usar o provedor CDNJS padrão. Os valores válidos incluem:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    libman init command - provedor padrão

Um libman.json arquivo é adicionado à raiz do projeto com o seguinte conteúdo:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": []
}

Adicionar arquivos de biblioteca

O libman install comando baixa e instala arquivos de biblioteca no projeto. Um libman.json ficheiro é adicionado se não existir. O libman.json arquivo é modificado para armazenar detalhes de configuração para os arquivos da biblioteca.

Synopsis

libman install <LIBRARY> [-d|--destination] [--files] [-p|--provider] [--verbosity]
libman install [-h|--help]

Arguments

LIBRARY

O nome da biblioteca a ser instalada. Esse nome pode incluir notação de número de versão (por exemplo, @1.2.0).

Opções

As seguintes opções estão disponíveis para o libman install comando:

  • -d|--destination <PATH>

    O local para instalar a biblioteca. Se não for especificado, o local padrão será usado. Se nenhuma defaultDestination propriedade for especificada no libman.json, essa opção será necessária.

    Observação: Há limitações para o caminho de destino. Por exemplo, quando a fonte do pacote tem uma estrutura de projeto completa e não apenas a pasta de distribuição, você não pode especificar a movimentação de uma pasta. Para obter mais informações, consulte Edição #407 e Edição #702

  • --files <FILE>

    Especifique o nome do arquivo a ser instalado a partir da biblioteca. Se não for especificado, todos os arquivos da biblioteca serão instalados. Forneça uma --files opção por arquivo a ser instalado. Caminhos relativos também são suportados. Por exemplo: --files dist/browser/signalr.js.

  • -p|--provider <PROVIDER>

    O nome do provedor a ser usado para a aquisição da biblioteca. Substitua <PROVIDER> por um dos seguintes valores:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    Se não for especificado, a propriedade defaultProvider em libman.json é usada. Se nenhuma defaultProvider propriedade for especificada no libman.json, essa opção será necessária.

  • -h|--help

    Mostrar informações de ajuda.

  • --verbosity <LEVEL>

    Defina o nível de detalhe da saída. Substitua <LEVEL> por um dos seguintes valores:

    • quiet
    • normal
    • detailed

Examples

Considere o seguinte libman.json arquivo:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": []
}

Para instalar o arquivo jQuery versão 3.2.1 jquery.min.js na pasta wwwroot/scripts/jquery usando o provedor CDNJS:

libman install jquery@3.2.1 --provider cdnjs --destination wwwroot/scripts/jquery --files jquery.min.js

O libman.json ficheiro é semelhante ao seguinte:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "jquery@3.2.1",
      "destination": "wwwroot/scripts/jquery",
      "files": [
        "jquery.min.js"
      ]
    }
  ]
}

Para instalar os arquivos calendar.js e calendar.css de C:\temp\contosoCalendar\ usando o provedor do sistema de arquivos:

libman install C:\temp\contosoCalendar\ --provider filesystem --files calendar.js --files calendar.css

O seguinte prompt aparece por dois motivos:

  • O libman.json arquivo não contém uma defaultDestination propriedade.
  • O libman install comando não contém a -d|--destination opção.

Comando de instalação do libman - destino

Depois de aceitar o destino padrão, o arquivo libman.json fica semelhante ao seguinte:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "jquery@3.2.1",
      "destination": "wwwroot/scripts/jquery",
      "files": [
        "jquery.min.js"
      ]
    },
    {
      "library": "C:\\temp\\contosoCalendar\\",
      "provider": "filesystem",
      "destination": "wwwroot/lib/contosoCalendar",
      "files": [
        "calendar.js",
        "calendar.css"
      ]
    }
  ]
}

Restaurar arquivos da biblioteca

O libman restore comando instala arquivos de biblioteca definidos em libman.json. Aplicam-se as seguintes regras:

  • Se não existir nenhum libman.json arquivo na raiz do projeto, um erro será retornado.
  • Se uma biblioteca especificar um provedor, a defaultProvider propriedade in libman.json será ignorada.
  • Se uma biblioteca especificar um destino, a defaultDestination propriedade em libman.json será ignorada.

Synopsis

libman restore [--verbosity]
libman restore [-h|--help]

Opções

As seguintes opções estão disponíveis para o libman restore comando:

  • -h|--help

    Mostrar informações de ajuda.

  • --verbosity <LEVEL>

    Defina o nível de detalhe da saída. Substitua <LEVEL> por um dos seguintes valores:

    • quiet
    • normal
    • detailed

Examples

Para restaurar os arquivos da biblioteca definidos em libman.json:

libman restore

Excluir arquivos de biblioteca

O libman clean comando exclui arquivos de biblioteca restaurados anteriormente via LibMan. As pastas que ficam vazias após esta operação são excluídas. As configurações associadas dos ficheiros de biblioteca na propriedade libraries não serão removidas.

Synopsis

libman clean [--verbosity]
libman clean [-h|--help]

Opções

As seguintes opções estão disponíveis para o libman clean comando:

  • -h|--help

    Mostrar informações de ajuda.

  • --verbosity <LEVEL>

    Defina o nível de detalhe da saída. Substitua <LEVEL> por um dos seguintes valores:

    • quiet
    • normal
    • detailed

Examples

Para excluir arquivos de biblioteca instalados via LibMan:

libman clean

Desinstalar arquivos da biblioteca

O comando libman uninstall:

  • Exclui todos os arquivos associados à biblioteca especificada do destino em libman.json.
  • Remove a configuração da biblioteca associada do libman.json.

Ocorre um erro quando:

  • Não libman.json existe nenhum arquivo na raiz do projeto.
  • A biblioteca especificada não existe.

Se mais de uma biblioteca com o mesmo nome estiver instalada, você será solicitado a escolher uma.

Synopsis

libman uninstall <LIBRARY> [--verbosity]
libman uninstall [-h|--help]

Arguments

LIBRARY

O nome da biblioteca a desinstalar. Esse nome pode incluir notação de número de versão (por exemplo, @1.2.0).

Opções

As seguintes opções estão disponíveis para o libman uninstall comando:

  • -h|--help

    Mostrar informações de ajuda.

  • --verbosity <LEVEL>

    Defina o nível de detalhe da saída. Substitua <LEVEL> por um dos seguintes valores:

    • quiet
    • normal
    • detailed

Examples

Considere o seguinte libman.json arquivo:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "jquery@3.7.1",
      "files": [
        "jquery.min.js",
        "jquery.js",
        "jquery.min.map"
      ],
      "destination": "wwwroot/lib/jquery/"
    },
    {
      "provider": "unpkg",
      "library": "bootstrap@5.3.6",
      "destination": "wwwroot/lib/bootstrap/"
    }
  ]
}
  • Para desinstalar o jQuery, um dos seguintes comandos terá êxito:

    libman uninstall jquery
    
    libman uninstall jquery@3.3.1
    
  • Para desinstalar os arquivos Lodash instalados através do filesystem provedor:

    libman uninstall C:\temp\lodash\
    

Atualizar versão da biblioteca

O libman update comando atualiza uma biblioteca instalada via LibMan para a versão especificada.

Ocorre um erro quando:

  • Não libman.json existe nenhum arquivo na raiz do projeto.
  • A biblioteca especificada não existe.

Se mais de uma biblioteca com o mesmo nome estiver instalada, você será solicitado a escolher uma.

Synopsis

libman update <LIBRARY> [-pre] [--to] [--verbosity]
libman update [-h|--help]

Arguments

LIBRARY

O nome da biblioteca a ser atualizada.

Opções

As seguintes opções estão disponíveis para o libman update comando:

  • -pre

    Obtenha a versão de pré-lançamento mais recente da biblioteca.

  • --to <VERSION>

    Obtenha uma versão específica da biblioteca.

  • -h|--help

    Mostrar informações de ajuda.

  • --verbosity <LEVEL>

    Defina o nível de detalhe da saída. Substitua <LEVEL> por um dos seguintes valores:

    • quiet
    • normal
    • detailed

Examples

  • Para atualizar o jQuery para a versão mais recente:

    libman update jquery
    
  • Para atualizar o jQuery para a versão 3.3.1:

    libman update jquery --to 3.3.1
    
  • Para atualizar o jQuery para a versão de pré-lançamento mais recente:

    libman update jquery -pre
    

Gerenciar cache de biblioteca

O libman cache comando gerencia o cache da biblioteca LibMan. O filesystem provedor não usa o cache da biblioteca.

Synopsis

libman cache clean [<PROVIDER>] [--verbosity]
libman cache list [--files] [--libraries] [--verbosity]
libman cache [-h|--help]

Arguments

PROVIDER

Usado apenas com o clean comando. Especifica a cache do provedor a limpar. Os valores válidos incluem:

  • cdnjs
  • filesystem
  • jsdelivr
  • unpkg

Opções

As seguintes opções estão disponíveis para o libman cache comando:

  • --files

    Liste os nomes dos arquivos que são armazenados em cache.

  • --libraries

    Liste os nomes das bibliotecas que são armazenadas em cache.

  • -h|--help

    Mostrar informações de ajuda.

  • --verbosity <LEVEL>

    Defina o nível de detalhe da saída. Substitua <LEVEL> por um dos seguintes valores:

    • quiet
    • normal
    • detailed

Examples

  • Para exibir os nomes das bibliotecas armazenadas em cache por provedor, use um dos seguintes comandos:

    libman cache list
    
    libman cache list --libraries
    

    É exibida uma saída semelhante à seguinte:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        font-awesome
        jquery
        knockout
        lodash.js
        react
    
  • Para exibir os nomes dos arquivos de biblioteca armazenados em cache por provedor:

    libman cache list --files
    

    É exibida uma saída semelhante à seguinte:

    Cache contents:
    ---------------
    unpkg:
        knockout:
            <list omitted for brevity>
        react:
            <list omitted for brevity>
        vue:
            <list omitted for brevity>
    cdnjs:
        font-awesome
            metadata.json
        jquery
            metadata.json
            3.2.1\core.js
            3.2.1\jquery.js
            3.2.1\jquery.min.js
            3.2.1\jquery.min.map
            3.2.1\jquery.slim.js
            3.2.1\jquery.slim.min.js
            3.2.1\jquery.slim.min.map
            3.3.1\core.js
            3.3.1\jquery.js
            3.3.1\jquery.min.js
            3.3.1\jquery.min.map
            3.3.1\jquery.slim.js
            3.3.1\jquery.slim.min.js
            3.3.1\jquery.slim.min.map
        knockout
            metadata.json
            3.4.2\knockout-debug.js
            3.4.2\knockout-min.js
        lodash.js
            metadata.json
            4.17.10\lodash.js
            4.17.10\lodash.min.js
        react
            metadata.json
    

    Observe que a saída anterior mostra que as versões 3.2.1 e 3.3.1 do jQuery são armazenadas em cache no provedor CDNJS.

  • Para limpar o cache da biblioteca do provedor CDNJS:

    libman cache clean cdnjs
    

    Depois de esvaziar o cache do provedor CDNJS, o libman cache list comando exibe o seguinte:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        (empty)
    
  • Para esvaziar o cache de todos os provedores suportados:

    libman cache clean
    

    Depois de esvaziar todos os caches do provedor, o comando exibe o libman cache list seguinte:

    Cache contents:
    ---------------
    unpkg:
        (empty)
    cdnjs:
        (empty)
    

Recursos adicionais