Chciałbym podzielić moją aplikację węzła na kilka oddzielnych plików, aby uczynić ją bardziej modułową i łatwiejszą w utrzymaniu.Czy istnieje odpowiednik kodu PHP w Node.js, więc kod ten ma dostęp do zmiennych pliku nadrzędnego?
Ale ponieważ nie ma sposobu na "dołączenie" pliku bezpośrednio do aktualnie analizowanego pliku, tak jak w innych językach, takich jak PHP, moje "moduły" lub "oddzielne pliki" nie uzyskują automatycznie dostępu do zmiennych zdefiniowanych w skrypcie to "wymaga" ich.
Jak mogę to zrobić?
myślałem o zrobieniu czegoś takiego w moim oddzielnych plikach:
module.exports = function(stuff) {
//I now have access to 'stuff'.
}
Ale to nieco kłopotliwe.
Jestem pewna, że ktoś już zajął się tym przede mną, więc ... co sugerujesz?
Czytaj docs: http://nodejs.org/docs/v0.5.5/api/modules.html Użycie obiektu 'exports' w module pozwala na dokonanie pewnych zmian ables lub funkcje public, podczas gdy inne zmienne pozostają prywatne. To całkiem miłe. –
"Moje" moduły "lub" oddzielne pliki "nie uzyskują automatycznie dostępu do zmiennych zdefiniowanych w skrypcie, który" wymaga "ich" - czy nie utrudniłoby to Twojego kodu * do utrzymania? Idea modułów require.js polega na tym, że zapewniają funkcjonalność innym skryptom; jeśli chcą uzyskać dostęp do publicznych danych/metody innych modułów, powinni wymagać tych modułów samodzielnie. –
Rozważ wzór "middleware" i pamiętaj - twój moduł jest w rzeczywistości tylko obiektem z listą funkcji 'export', które zostały wykonane podczas pierwszego 'require'. – moka