Dësen Artikel ass e bësse vun engem Opruff fir Experimenter an Diskussioun. Ech recherchéieren de Moment fir ze kucken wat gemaach ka ginn fir d'Struktur vun den nodes_modules op engem Projet ze verbesseren. Ech sinn nach ëmmer onerfueren an dësem Beräich, also sief éierlech wann ech e Feeler maachen, a virun allem zéckt net fir mech ze korrigéieren oder an de Kommentarer zréckzekommen, ech wäert gär mat jidderengem diskutéieren/debattéieren.
[Trennungstyp = "" Gréisst = "" Ikon = "Stär"]
Explikatioune
[Zeil] [en_Drëttel]
[/One_Third] [zwee_Drëttel] Fir meng Defiziter zu dësem Thema ze läschen, sinn ech an d'Installatioun vun Nodes_Module fir ee vu menge Projete gestierzt, dee mam Gulp geschafft huet.
Wann Dir dëst alles kennt, sidd Dir wahrscheinlech scho vill bewosst wat wäert kommen.
Fir anerer, sollt Dir wëssen, datt wann Dir eng Ofhängegkeet installéiert via npm op engem Projet wäert et automatesch d'Ofhängegkeete sichen déi se brauch (well jo, Ofhängegkeeten hunn heiansdo och Ofhängegkeeten).
[/zwee_drëtt] [/ Rei] An et ass eng ganz gutt Saach, well sou brauch den Entwéckler keen enzyklopediesche Wësse vun all Plugin ze hunn. Soss misste mir, souzesoen, all Ofhängegkeeten, déi fir all Plugin néideg sinn, aus Häerz kennen, oder soss musse mir all Kéier d'Informatioun online fannen wann mir eng Ofhängegkeet installéiere wëllen. Iwwerhaapt net liewensfäeg all Dag.
[Trennungstyp = "" Gréisst = "" Ikon = "Stär"]
De Problem
Och wann d'automatesch Installatioun vun Ofhängegkeeten e Must-Have Feature ass, sinn ech net sécher datt déi resultéierend Struktur optimal ass.
Zum Beispill, dëst ass wéi d'Architektur vum Plugin ausgesäit Schlupp-Kompass, mat alles wat et brauch fir ze schaffen:

Dat si vill Ofhängegkeeten! Kënnt Dir Iech virstellen wann Dir dat alles aus Häerz wësse musst an se een nom aneren installéieren? Mir stëmmen, et ass net méiglech.
Allerdéngs kuckt op d'Struktur. Kuckt wat geschitt. D'Ofhängegkeete vun Schlupp-Kompass brauch och Ofhängegkeeten. An heiansdo sinn déi selwecht néideg. Ech hunn Faarwen benotzt fir et méi offensichtlech ze maachen.
Matryoshka
Jo, tatsächlech, Dir schléisst mat enger Nesting-Popparchitektur, bal onendlech heiansdo, wou all Gulp Plugin säin nodes_modules Dossier mat sengen Ofhängegkeeten enthält, also aner Gulp Plugins, déi selwer nodes_modules Classeure mat Ofhängegkeeten enthalen an sou weider ... wéi uewen an der Plugin Beispill Schlupp-Kompass.

Éierlech gesot, ech mengen, mir hunn e grousse Problem hei.
Wann ech weider mam Beispill vun Schlupp-Kompass, an ech wielen d'Ofhängegkeet 'through2', Dir wäert gesinn datt et an der Wuerzel vum Gulp-Compass Plugin ass, awer et gëtt och an den Ofhängegkeete vu gulp-util fonnt, wat eng vun den Ofhängegkeete vum gulp-compass ass. Kappwéi ? Ech och.
Et ass Blödsinn well d'Ofhängegkeet schonn am Gulp-Compass Plugin zur Verfügung gestallt gëtt, awer d'Gulp-Util Ofhängegkeet sicht et erëm, well se brauch fir ze funktionnéieren ... mir ginn do op de Kapp.
Also jo, et funktionnéiert wéi et ass, firwat stéieren ... ausser et mécht et net.
[Trennungstyp = "" Gréisst = "" Ikon = "Stär"]
Microsoft ass ...
Op Windows Maschinnen verursaacht dëst Bugs well d'Dateiadressen ze laang sinn. (Gesinn Diskussioun op Github).
[Zeil] [zwee_drëtt]
[/zwee_drëtt] [en_drëttel]Sécher eng Datei erreechen, déi an engem Dossier ass, dee selwer an engem aneren Dossier ass, dee selwer nach an engem aneren Dossier ass, dee selwer nach ass! an engem aneren Dossier, dee selwer nach ëmmer ass!!!!! an engem aneren Dossier (sic...) kann et midd ginn, och fir e Computer.
Also wäert Dir mir soen datt Microsoft alles verrotten ass an datt Dir Mac muss benotzen.
Ech ginn zou, ech léiwer och Mac, mee ech mengen dat justifiéiert net sou eng Architektur... an ech sinn der Meenung, datt et fir jiddereen soll funktionnéieren, ouni alles an der Hand ze botzen.

[/ een_Drëttel] [/ Zeil] [Trennungstyp = "" Gréisst = "" Ikon = "Stär"]
NPM nächsten Niveau
Et kann pretentiéis schéngen, well ech en Ufänger sinn, awer ech mengen datt mir d'Ofhängegkeete musse entwéckelen fir e méi optimalen Fonctionnement.
Wär et net méi schlau d'Art a Weis wéi dës Plugins funktionnéieren ze änneren, sou datt se am Base nodes_modules Dossier kucken ob d'Ofhängegkeeten déi se brauchen scho präsent sinn, se aktualiséieren wann néideg, se installéieren wann se fehlen awer trotzdem an der Wuerzel aus dem Original nodes_modules Dossier? Mir hätten op eemol e "flaach Ofhängegkeetsbaum" wéi vu mengem Kolleg Logu proposéiert.
Also ass d'Diskussioun oppen. Zéckt net Är Erfahrung ze deelen, oder Är Meenung ze ginn. Ech hoffen fäeg ze sinn en Artikel iwwer dëst Thema mat echte Léisungen nei ze schreiwen.
Emmanuelle GUYOT / UX-Wëssenschaftler
