2016-07-17 32 views
5

Istnieje wiele popularnych bibliotek JavaScript i aplikacji na GitHub, a niektóre umieszczają swój surowy kod źródłowy w katalogu /src, a inne w katalogu /lib.Dlaczego warto używać nazw katalogów "lib" a "src" w JavaScript? Który jest "standardowy"?

Pochylam się do programistów, którzy to zrobili, w zależności od tego, jakich języków uczono dorastając. Tak więc widzę, że wielu programistów Java używa /lib (którzy zwykle kończą umieszczanie swojego pakietu JS w katalogu /bin). Tymczasem często zauważam, że ci, którzy używają /src, wysyłają swój zapakowany JS do folderu /dist.

Co jest standardowym wzorem dla JavaScript, src lub lib. Może w ogóle nie ma poprawnej lub złej odpowiedzi.

+2

ja już widziałem wiele projektów z plikami JavaScript w katalogu '/ js'. Czy to ma znaczenie? – nnnnnn

+1

Nie ma żadnej technicznej różnicy, ale próbując ustalić wzór + konwencję. – simbolo

Odpowiedz

7

Ciekawe pytanie, ale szwy mi się, że niektórzy deweloperzy po prostu wziąć go przez własne światopoglądu

To także zależy od projektu:

niektóre projekty są budowane z mniejszymi komponentami, które są tylko małymi częściami głównej funkcjonalności. lib

lib/independent-pieces.js

inne projekty są monolitic, elementy są od siebie zależne: src

src/this-is-all-for-this-project-and-depend-on-each-other.js

dla osoby trzeciej bibliotek jego powszechne użycie vendor

vendor/bootstrap/ 
vendor/d3/ 
+1

Tak, myślę, że to też więcej światopoglądu, widzę, że' lib' jest używane bez odpowiadającego 'src', nawet w aplikacjach, które nie są ' t podzielone na części. Sądzę, że to tylko wzór, który utknął pewnego dnia i niektórzy ludzie nadal go używają. – simbolo

1
  • /lib - dla bibliotek zewnętrznych. Również zamiast /lib zasugerowano, aby umieścić biblioteki w katalogu /vendor.
  • /src - dla kodu źródłowego
+0

która książka "Najlepsze praktyki" była w ...? W typowej aplikacji "uniwersalnej JS" biblioteki stron trzecich są przechowywane w 'node_modules', a'/lib' jest używane dla twojego własnego kodu, który nie wymaga kompilacji. '/ src' zostałby użyty dla kodu ES6, który musi być" _compiled_ "(" _transpiled_ ") – nelsonic