Bagikan melalui


Menggunakan LibMan CLI dengan ASP.NET Core

Library Manager (LibMan) adalah alat akuisisi pustaka sisi klien yang ringan. LibMan mengunduh pustaka dan kerangka kerja populer dari sistem file atau dari jaringan pengiriman konten (CDN). CDN yang didukung mencakup CDNJS, jsDelivr, dan unpkg. Pustaka yang dipilih diambil dan ditempatkan di lokasi yang sesuai dalam proyek ASP.NET Core.

Prasyarat

Penginstalan

Perintah berikut menginstal LibMan:

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

Catatan

Secara default arsitektur biner .NET yang akan diinstal mewakili arsitektur OS yang sedang berjalan. Untuk menentukan arsitektur OS yang berbeda, lihat penginstalan alat dotnet, opsi --arch. Untuk informasi selengkapnya, lihat Masalah GitHub dotnet/AspNetCore.Docs #29262.

Alat Global .NET Core diinstal dari paket NuGet Microsoft.Web.LibraryManager.Cli.

Penggunaan

libman

Untuk melihat versi LibMan yang diinstal:

libman --version

Untuk melihat perintah CLI yang tersedia:

libman --help

Perintah sebelumnya menampilkan output yang mirip dengan yang berikut ini:

 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.

Bagian berikut menguraikan perintah CLI yang tersedia.

Menginisialisasi LibMan dalam proyek

Perintah libman init membuat libman.json file jika tidak ada. File dibuat dengan konten templat item default.

Sinopsis

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

Opsi

Opsi berikut tersedia untuk perintah libman init:

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

    Jalur relatif terhadap folder saat ini. File pustaka diinstal di lokasi ini jika tidak ada destination properti yang ditentukan untuk pustaka di libman.json. Nilai <PATH> ditulis ke defaultDestination properti .libman.json

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

    Penyedia yang akan digunakan jika tidak ada penyedia yang didefinisikan untuk pustaka tertentu. Nilai <PROVIDER> ditulis ke defaultProvider properti .libman.json Ganti <PROVIDER> dengan salah satu nilai berikut:

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

    Tampilkan informasi bantuan.

  • --verbosity <LEVEL>

    Atur verbositas output. Ganti <LEVEL> dengan salah satu nilai berikut:

    • quiet
    • normal
    • detailed

Contoh

Untuk membuat libman.json file dalam proyek ASP.NET Core:

  • Navigasi ke akar proyek.

  • Jalankan perintah berikut:

    libman init
    
  • Ketik nama penyedia default, atau tekan Enter untuk menggunakan penyedia CDNJS default. Nilai yang valid meliputi:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    libman init command - default provider

File libman.json ditambahkan ke akar proyek dengan konten berikut:

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

Menambahkan file pustaka

Perintah libman install mengunduh dan menginstal file pustaka ke dalam proyek. File libman.json ditambahkan jika tidak ada. File libman.json dimodifikasi untuk menyimpan detail konfigurasi untuk file pustaka.

Sinopsis

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

Argumen

LIBRARY

Nama pustaka yang akan diinstal. Nama ini dapat mencakup notasi nomor versi (misalnya, @1.2.0).

Opsi

Opsi berikut tersedia untuk perintah libman install:

  • -d|--destination <PATH>

    Lokasi untuk menginstal pustaka. Jika tidak ditentukan, lokasi default digunakan. Jika tidak ada defaultDestination properti yang ditentukan dalam libman.json, opsi ini diperlukan.

    Catatan: Ada batasan jalur tujuan. Misalnya, ketika sumber paket memiliki struktur proyek lengkap dan bukan hanya folder distribusi, Anda tidak dapat menentukan pemindahan folder. Untuk informasi selengkapnya, lihat Masalah #407 dan Masalah #702

  • --files <FILE>

    Tentukan nama file yang akan diinstal dari pustaka. Jika tidak ditentukan, semua file dari pustaka diinstal. Berikan satu --files opsi per file yang akan diinstal. Jalur relatif juga didukung. Sebagai contoh: --files dist/browser/signalr.js.

  • -p|--provider <PROVIDER>

    Nama penyedia yang akan digunakan untuk akuisisi pustaka. Ganti <PROVIDER> dengan salah satu nilai berikut:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    Jika tidak ditentukan, defaultProvider properti di libman.json digunakan. Jika tidak ada defaultProvider properti yang ditentukan dalam libman.json, opsi ini diperlukan.

  • -h|--help

    Tampilkan informasi bantuan.

  • --verbosity <LEVEL>

    Atur verbositas output. Ganti <LEVEL> dengan salah satu nilai berikut:

    • quiet
    • normal
    • detailed

Contoh

Pertimbangkan file libman.json berikut:

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

Untuk menginstal file jQuery versi 3.2.1 jquery.min.js ke folder wwwroot/scripts/jquery menggunakan penyedia CDNJS :

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

File libman.json menyerupan berikut ini:

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

Untuk menginstal calendar.js file dan calendar.css dari C:\temp\contosoCalendar\ menggunakan penyedia sistem file:

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

Perintah berikut muncul karena dua alasan:

  • File libman.json tidak berisi defaultDestination properti.
  • Perintah libman install tidak berisi -d|--destination opsi .

libman install command - destination

Setelah menerima tujuan default, libman.json file menyerupan berikut ini:

{
  "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"
      ]
    }
  ]
}

Memulihkan file pustaka

Perintah libman restore menginstal file pustaka yang ditentukan dalam libman.json. Aturan berikut ini akan berlaku:

  • Jika tidak ada libman.json file di akar proyek, kesalahan akan ditampilkan.
  • Jika pustaka menentukan penyedia, defaultProvider properti di libman.json diabaikan.
  • Jika pustaka menentukan tujuan, defaultDestination properti di libman.json diabaikan.

Sinopsis

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

Opsi

Opsi berikut tersedia untuk perintah libman restore:

  • -h|--help

    Tampilkan informasi bantuan.

  • --verbosity <LEVEL>

    Atur verbositas output. Ganti <LEVEL> dengan salah satu nilai berikut:

    • quiet
    • normal
    • detailed

Contoh

Untuk memulihkan file pustaka yang ditentukan dalam libman.json:

libman restore

Menghapus file pustaka

Perintah libman clean menghapus file pustaka yang sebelumnya dipulihkan melalui LibMan. Folder yang menjadi kosong setelah operasi ini dihapus. Konfigurasi terkait file pustaka di libraries properti libman.json tidak dihapus.

Sinopsis

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

Opsi

Opsi berikut tersedia untuk perintah libman clean:

  • -h|--help

    Tampilkan informasi bantuan.

  • --verbosity <LEVEL>

    Atur verbositas output. Ganti <LEVEL> dengan salah satu nilai berikut:

    • quiet
    • normal
    • detailed

Contoh

Untuk menghapus file pustaka yang diinstal melalui LibMan:

libman clean

Menghapus instalasi file pustaka

Perintah libman uninstall:

  • Menghapus semua file yang terkait dengan pustaka yang ditentukan dari tujuan di libman.json.
  • Menghapus konfigurasi pustaka terkait dari libman.json.

Kesalahan terjadi ketika:

  • Tidak libman.json ada file di akar proyek.
  • Pustaka yang ditentukan tidak ada.

Jika lebih dari satu pustaka dengan nama yang sama diinstal, Anda akan diminta untuk memilihnya.

Sinopsis

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

Argumen

LIBRARY

Nama pustaka yang akan dilepas instalannya. Nama ini dapat mencakup notasi nomor versi (misalnya, @1.2.0).

Opsi

Opsi berikut tersedia untuk perintah libman uninstall:

  • -h|--help

    Tampilkan informasi bantuan.

  • --verbosity <LEVEL>

    Atur verbositas output. Ganti <LEVEL> dengan salah satu nilai berikut:

    • quiet
    • normal
    • detailed

Contoh

Pertimbangkan file libman.json berikut:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "jquery@3.3.1",
      "files": [
        "jquery.min.js",
        "jquery.js",
        "jquery.min.map"
      ],
      "destination": "wwwroot/lib/jquery/"
    },
    {
      "provider": "unpkg",
      "library": "bootstrap@4.1.3",
      "destination": "wwwroot/lib/bootstrap/"
    },
    {
      "provider": "filesystem",
      "library": "C:\\temp\\lodash\\",
      "files": [
        "lodash.js",
        "lodash.min.js"
      ],
      "destination": "wwwroot/lib/lodash/"
    }
  ]
}
  • Untuk menghapus instalan jQuery, salah satu perintah berikut berhasil:

    libman uninstall jquery
    
    libman uninstall jquery@3.3.1
    
  • Untuk menghapus instalasi file Lodash yang diinstal melalui filesystem penyedia:

    libman uninstall C:\temp\lodash\
    

Memperbarui versi pustaka

libman update Perintah memperbarui pustaka yang diinstal melalui LibMan ke versi yang ditentukan.

Kesalahan terjadi ketika:

  • Tidak libman.json ada file di akar proyek.
  • Pustaka yang ditentukan tidak ada.

Jika lebih dari satu pustaka dengan nama yang sama diinstal, Anda akan diminta untuk memilihnya.

Sinopsis

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

Argumen

LIBRARY

Nama pustaka yang akan diperbarui.

Opsi

Opsi berikut tersedia untuk perintah libman update:

  • -pre

    Dapatkan versi prarilis terbaru pustaka.

  • --to <VERSION>

    Dapatkan versi pustaka tertentu.

  • -h|--help

    Tampilkan informasi bantuan.

  • --verbosity <LEVEL>

    Atur verbositas output. Ganti <LEVEL> dengan salah satu nilai berikut:

    • quiet
    • normal
    • detailed

Contoh

  • Untuk memperbarui jQuery ke versi terbaru:

    libman update jquery
    
  • Untuk memperbarui jQuery ke versi 3.3.1:

    libman update jquery --to 3.3.1
    
  • Untuk memperbarui jQuery ke versi prarilis terbaru:

    libman update jquery -pre
    

Mengelola cache pustaka

Perintah libman cache mengelola cache pustaka LibMan. Penyedia filesystem tidak menggunakan cache pustaka.

Sinopsis

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

Argumen

PROVIDER

Hanya digunakan dengan clean perintah . Menentukan cache penyedia yang akan dibersihkan. Nilai yang valid meliputi:

  • cdnjs
  • filesystem
  • jsdelivr
  • unpkg

Opsi

Opsi berikut tersedia untuk perintah libman cache:

  • --files

    Cantumkan nama file yang di-cache.

  • --libraries

    Cantumkan nama pustaka yang di-cache.

  • -h|--help

    Tampilkan informasi bantuan.

  • --verbosity <LEVEL>

    Atur verbositas output. Ganti <LEVEL> dengan salah satu nilai berikut:

    • quiet
    • normal
    • detailed

Contoh

  • Untuk melihat nama pustaka yang di-cache per penyedia, gunakan salah satu perintah berikut:

    libman cache list
    
    libman cache list --libraries
    

    Output yang mirip dengan berikut ini ditampilkan:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        font-awesome
        jquery
        knockout
        lodash.js
        react
    
  • Untuk melihat nama file pustaka yang di-cache per penyedia:

    libman cache list --files
    

    Output yang mirip dengan berikut ini ditampilkan:

    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
    

    Perhatikan output sebelumnya menunjukkan bahwa jQuery versi 3.2.1 dan 3.3.1 di-cache di bawah penyedia CDNJS .

  • Untuk mengosongkan cache pustaka untuk penyedia CDNJS :

    libman cache clean cdnjs
    

    Setelah mengosongkan cache penyedia CDNJS , libman cache list perintah menampilkan hal berikut:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        (empty)
    
  • Untuk mengosongkan cache untuk semua penyedia yang didukung:

    libman cache clean
    

    Setelah mengosongkan semua cache penyedia, libman cache list perintah menampilkan yang berikut ini:

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

Sumber daya tambahan