Wieloletni użytkownik, pierwszy raz zadając pytanie.Nodejs: "wymaganie" modułu w Nodejs nie działa z określoną nazwą pliku
Mam pliku (nazwijmy go file.js), w których jestem próby wymagają innego pliku o nazwie user.service.js na początku pliku:
var userService = require('./user.service');
jestem dość Upewnij się, że ścieżka jest poprawna i że plik user.service.js
eksportuje zaludnione obiektu:
W user.service.js:
module.exports = {
signIn: signIn,
signUp: signUp,
updateProfile: updateProfile
};
jednak userService jest zawsze pusty obiekt {}. Dziwne jest to, że jeśli ponownie utworzę plik z inną nazwą w tym samym katalogu (na przykład user.service2.js), instrukcja require działa poprawnie. Lub, jeśli zmieniam nazwę pliku.js na coś innego, np. file2.js, połączenie działa. Dodatkowo, jeśli wymagam pliku wewnątrz funkcji user.service.js, instrukcja również działa. Jednak wolałbym mieć instrukcję require na górze pliku i dostępna dla wszystkich funkcji w niej zawartych.
Z góry dziękujemy za pomoc.
Edit:
Oto niektóre przykładowy kod:
var userService = require('./user.service');
var testFunc = function() {
console.log(userService);
// this logs: {}
var userServiceInternal = require('./user.service');
console.log(userServiceInternal);
// This logs:
// {
// signIn: [Function],
// signUp: [Function],
// updateProfile: [Function]
// }
};
Powinieneś wkleić bardziej kompletny przykład kodu. Jestem pewien, że to coś nieznacznego. – naomik
Którą wersję node.js używasz? Wydaje się pracować z v0.12.0 – zaynetro
Używam v0.12.2 – Jack12358