Artikel ini adalah sedikit panggilan untuk eksperimen dan perbincangan. Saya sedang meneliti untuk melihat apa yang boleh dilakukan untuk memperbaiki struktur nodes_modules yang dipasang pada projek. Saya masih tidak berpengalaman dalam bidang ini, jadi manjalah jika saya membuat kesilapan, dan di atas semua jangan teragak-agak untuk membetulkan saya atau bangkit semula di bahagian komen, saya dengan senang hati akan berbincang/berbahas dengan semua orang.
[jenis pemisah=”” saiz=”” ikon=”bintang”]
Penjelasan
[baris] [satu_pertiga]
[/one_third] [two_third] Untuk memadamkan kekurangan saya dalam subjek ini, saya terjun ke dalam pemasangan nodes_modules untuk salah satu projek saya yang berfungsi dengan gulp.
Jika anda sudah biasa dengan semua ini, anda mungkin sudah mengetahui banyak perkara yang akan datang.
Bagi yang lain, anda harus tahu bahawa apabila anda memasang kebergantungan melalui npm pada projek, ia akan secara automatik mengambil kebergantungan yang diperlukan (kerana ya, kebergantungan kadangkala mempunyai kebergantungan juga).
[/two_third] [/row] Dan ia adalah a perkara yang sangat baik, kerana dengan cara itu pembangun tidak perlu mempunyai pengetahuan ensiklopedia setiap pemalam. Jika tidak, kita perlu mengetahui, boleh dikatakan, secara hati-hati semua kebergantungan yang diperlukan untuk setiap pemalam, jika tidak, kita perlu pergi dan mencari maklumat dalam talian setiap kali kita mahu memasang kebergantungan. Tidak berdaya maju sama sekali setiap hari.
[jenis pemisah=”” saiz=”” ikon=”bintang”]
Masalahnya
Walaupun pemasangan automatik kebergantungan adalah ciri yang mesti ada, saya tidak pasti bahawa struktur yang terhasil adalah optimum.
Sebagai contoh, inilah rupa seni bina pemalam teguk-kompas, dengan semua yang diperlukan untuk berfungsi:

Itu BANYAK ketagihan! Bolehkah anda bayangkan jika anda perlu mengetahui semua itu dengan hati dan memasangnya satu demi satu? Kami bersetuju, tidak mungkin.
Walau bagaimanapun, lihat strukturnya. Lihat apa yang berlaku. Kebergantungan daripada teguk-kompas memerlukan tanggungan juga. Dan kadang-kadang perkara yang sama diperlukan. Saya menggunakan warna untuk menjadikannya lebih jelas.
Matryoshka
Ya, sesungguhnya, anda mempunyai seni bina anak patung bersarang, kadangkala hampir tidak terhingga, di mana setiap pemalam tegukan mengandungi folder nodes_modulesnya dengan kebergantungannya, jadi pemalam tegukan lain, yang sendiri mengandungi folder nodes_modules dengan kebergantungan dan sebagainya... seperti yang dilihat di atas dalam contoh pemalam teguk-kompas.

Terus terang, saya rasa kita mempunyai masalah besar di sini.
Jika saya teruskan dengan contoh teguk-kompas, dan saya memilih kebergantungan 'through2', anda akan melihat bahawa ia berada di akar pemalam gulp-compass, tetapi ia juga terdapat dalam kebergantungan gulp-util, yang merupakan salah satu kebergantungan gulp -compass. sakit kepala? Saya juga.
Ia adalah karut kerana kebergantungan sudah disediakan dalam plugin gulp-compass, tetapi kebergantungan gulp-util akan mencarinya semula kerana ia memerlukannya untuk berfungsi... kami berjalan di atas kepala kami di sana.
Jadi ya, ia berfungsi sebagaimana adanya, mengapa bersusah payah… kecuali ia tidak.
[jenis pemisah=”” saiz=”” ikon=”bintang”]
Microsoft adalah...
Pada mesin Windows, ini menyebabkan pepijat kerana alamat fail terlalu panjang. (Lihat perbincangan mengenai Github).
[baris] [dua_pertiga]
[/dua_pertiga] [satu_pertiga]Pastinya mencapai fail yang berada dalam folder, yang berada dalam folder lain, yang masih berada dalam folder lain, yang masih ada! dalam folder lain, yang masih ada!!!!! dalam folder lain (sic…) ia boleh menjadi memenatkan, walaupun untuk komputer.
Jadi anda akan memberitahu saya bahawa Microsoft semuanya busuk dan anda perlu menggunakan Mac.
Saya akui, saya lebih suka Mac juga, tetapi saya tidak fikir ia mewajarkan seni bina sebegitu... dan saya berpendapat ia sepatutnya berfungsi untuk semua orang, tanpa perlu membersihkan segala-galanya di tangan.

[/satu_pertiga] [/baris] [jenis pemisah=”” saiz=”” ikon=”bintang”]
NPM peringkat seterusnya
Ia mungkin kelihatan megah, memandangkan saya seorang pemula, tetapi saya fikir kita mesti mengembangkan kebergantungan ke arah fungsi yang lebih optimum.
Bukankah lebih bijak untuk menukar cara pemalam ini berfungsi, supaya mereka menyemak dalam folder nodes_modules asas jika kebergantungan yang mereka perlukan sudah ada, kemas kininya jika perlu, pasangkannya jika tiada tetapi masih pada akarnya dari folder nodes_modules asal? Kami tiba-tiba akan mempunyai "pokok dependensi rata" seperti yang dicadangkan oleh rakan sekerja saya Logu.
Jadi perbincangan terbuka. Jangan teragak-agak untuk berkongsi pengalaman anda, atau memberi pendapat anda. Saya berharap dapat menulis semula artikel mengenai subjek ini dengan penyelesaian sebenar.
Emmanuelle GUYOT / UX-Scientist
