Node.js ne peut pas exiger que .fichier js dans le même répertoire
J'ai un node-webkit projet avec un main.js
. Tout en haut, j'ai
var updater = require("./updater.js");
et j'ai un fichier nommé updater.js
dans le même répertoire que main.js
. Quand je lance l'application, j'obtiens le message d'erreur
Uncaught Error: Cannot find module './updater.js'
updater.js
a une ligne:
module.exports = "Hello!";
Je n'ai aucune idée de pourquoi ça ne peut pas exiger le fichier. J'ai vu un autre projet de faire la même chose. Je peux require
régulière npm
modules amende de la même main.js
.
Avez-vous une autorisation de lecture pour
Et comment avez-vous nœud de départ? Avez-vous nœud de départ dans ce répertoire directement en tapant
êtes-vous à l'aide de
Essayez-le avec var programme de mise à jour = require("./programme de mise à jour");
updater.js
?Et comment avez-vous nœud de départ? Avez-vous nœud de départ dans ce répertoire directement en tapant
node main.js
? Si vous avez utilisé certaines aides de la cwd
ont peut-être changé.êtes-vous à l'aide de
node main
dans le répertoire main.js
est, quand il met cette erreur, ou êtes-vous de les charger dans main.js
comme un module dans un autre script?Essayez-le avec var programme de mise à jour = require("./programme de mise à jour");
OriginalL'auteur Antrikshy | 2014-10-11
Vous devez vous connecter pour publier un commentaire.
C'est parce que, lorsque vous exécutez votre application (main.js) à l'aide de node-webkit la racine (de travail) répertoire est l'endroit où l'index.html est,'./' fait référence à ce répertoire et non pas celui dans lequel le fichier en vous demandant le module de est en.
Vous pouvez facilement résoudre ce problème en utilisant résoudre méthode en 'chemin' nœud module et de fournir la sortie de la nécessite de la méthode dans votre fichier de travail
Simplement faire ce qui suit:
EDIT : info sur global nœud de l'objet '__dirname' (et les autres) peuvent être trouvées ici.
Est-il moins verbeux que d'exiger un seul fichier (sans besoin de 2 lignes, le chemin, le chemin d'accès.résoudre, __dirname, les chemins relatifs, etc.)?
OriginalL'auteur Dmitry Matveev