node.js kann kein Modul im selben Ordner finden

9

Ich versuche, ein einfaches "Farben" -Modul zu verwenden, um Cli-Farben in meinen Protokollen einzustellen, nichts besonderes.

Nun, ich habe ein Modul namens colors.js im Pfad ./app/config/colors.js , den Inhalt:

%Vor%

Einfach. Nun, wenn ich es in der server.js (in der Wurzel des Projekts, über / app) brauche, funktioniert es gut, aber wenn ich versuche, es in ./app/config/db.js zu verwenden, wirft es einen Fehler auf:

%Vor%

Warum, wenn es in der server.js funktioniert?

    
Nano 14.09.2014, 15:23
quelle

2 Antworten

13

Sie haben wahrscheinlich das Modul mit einem relativen Pfad benötigt.

Relative Pfade werden in Bezug auf den Speicherort des anfordernden Moduls aufgelöst.

Zitieren Dokumente

  

Ein Modul mit dem Präfix './' ist relativ zur Datei require ().   Das heißt, circle.js muss sich im selben Verzeichnis wie foo.js befinden   require ('./ circle'), um es zu finden.

Also, wenn du ein

gemacht hast %Vor%

innerhalb eines Moduls in ./app/config/ , dann sucht der Knoten nach ./app/config/app/config/colors.js und schlägt fehl.

Wenn sich Modul "Benötigen" und "Benötigt" im selben Verzeichnis befinden, verwenden Sie einfach:

%Vor%

oder noch kürzer:

%Vor%     
soulcheck 14.09.2014, 15:28
quelle
0

Das Modul sollte sich im Ordner "node_modules" befinden, um darauf zuzugreifen, wie Sie es beschrieben haben.

    
Nedelin Yordanov 15.09.2014 06:24
quelle

Tags und Links