cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Mengapa mempunyai pengurus pakej? Atau apa yang dilakukannya?

Saya telah mencari banyak maklumat, tetapi tiada penjelasan yang jelas untuk perkara ini. Bolehkah sesiapa menerangkannya kepada saya?

滿天的星座滿天的星座2749 hari yang lalu443

membalas semua(2)saya akan balas

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:18:42

    Sekurang-kurangnya ada dua kelebihan:

    1. Guna semula kod yang telah ditulis oleh orang lain

    2. Urus kebergantungan sebelum pakej

    Perkara pertama adalah jelas: anda tidak akan menulis sesuatu seperti jQuery atau React untuk setiap projek, tetapi secara langsung menggunakan perkara yang telah ditulis oleh orang lain. Kaedah tradisional ialah: pergi ke tapak web rasmi untuk memuat turun fail js yang sepadan, dan kemudian letakkannya dalam laluan yang sepadan untuk projek anda, seperti /assets/js/. Dan kini dengan perkara seperti npm dan benang, 99.9999% daripada pakej akses terbuka disimpan di satu tempat berpusat, menjadikannya mudah dicari dan dimuat turun. Seperti dahulu anda perlu pergi ke mana-mana untuk memuat turun perisian, tetapi kini dengan Pengurus Perisian 360, anda hanya perlu mencari dan memuat turunnya di sini. Banyak masa yang hilang.

    Titik kedua sebenarnya adalah versi yang dibangunkan untuk titik pertama. Kerana semua pakej yang ditulis oleh semua orang diletakkan di sini. Jika saya ingin menulis pakej baru, program kecil di dalamnya kebetulan telah ditulis oleh orang lain, jadi saya menggunakannya. Ini bermakna pakej saya bergantung pada pakej orang lain. Hubungan pergantungan perpustakaan besar (pakej) mungkin rumit Contohnya, ia bergantung pada berpuluh-puluh pakej lain Pada masa yang sama, setiap pakej diperlukan untuk sepadan dengan versi tertentu (kerana versinya terlalu berbeza, mungkin menjadi ketidakserasian API). Dengan cara ini, jika anda memuat turun setiap pakej bergantung secara manual, ia akan menjadi tugas eksponen:

    A pakej bergantung pada B dan C, manakala C bergantung pada D dan E, B bergantung pada F, G, H, D bergantung pada I, J, K...

    Ini pada asasnya adalah tugas yang tidak dapat dicapai oleh manusia.

    Sudah tentu, sebelum ada pengurus pakej, tiada siapa yang menulis pakej yang akan bergantung pada pakej orang lain yang begitu banyak Hasilnya tentu saja pertindihan kerja: setiap pakej melaksanakan beberapa fungsi yang biasa digunakan dengan sendirinya.

    Di atas adalah kegunaan yang saya boleh fikirkan buat masa ini Jika saya fikirkan yang lain, saya akan menambahnya.

    balas
    0
  • 高洛峰

    高洛峰2017-05-19 10:18:42

    00

    Anda menulis fungsi dan menggunakannya untuk melakukan kerja

    function add(x, y){
        return x + y; 
    }

    01

    Selepas kerja itu selesai, anda mula melakukan kerja baharu. Kini anda memerlukan fungsi ini sekali lagi dan anda perlu membuat penambahbaikan:

    function add(x, y, z){
        return x + y + z; 
    }

    Ia sangat mudah hanya salin dan tampal dan tambah z.

    .

    02

    Kerja yang anda lakukan dalam 01 untuk membuat tambah menerima tiga parameter ialah versi baharu .
    Namun, anda telah menerima pekerjaan baharu, dan kali ini anda perlu membuat penambahbaikan:

    function add(){
        var arr = Array.prototype.slice.call(arguments); 
        return arr.reduce((acc, cur) => acc + cur, 0); 
    }
    // add(1) => 1 
    // add(1, 2) => 3 
    // add(1, 2, 3) => 6

    99

    Anda telah membuat banyak peningkatan. Suatu hari apabila anda memerlukan fungsi penambahan mudah dalam 00 sekali lagi:
    ———— Anda perlahan-lahan membaca kod anda sebelum ini antara 99 tugasan yang telah anda lakukan. . . . Kemudian salin ke atas

    Ini adalah perkara yang sangat menyusahkan. . .

    Pengurus pakej mengautomasikan semua tugasan ini. Anda boleh membungkus kod anda, kemudian hanya memerlukan rujukan dan gunakan arahan npm untuk memasangnya dengan satu klik (anda juga boleh menentukan versi)

    Perkara yang berulang dan menyusahkan akan diselesaikan dengan pengaturcaraan

    balas
    0
  • Batalbalas