Кто-нибудь знает, почему это происходит?
У меня довольно сложная система, поэтому для ее упрощения у нас есть этот код:
profile_manager. js
const Profile = require('./profile');
class ProfileManager {
doThing() {
const prf = new Profile("Lemon", "ade");
}
}
const prfManager = new ProfileManager();
module.exports = prfManager;
profile. js
class Profile {
constructor(arg0, arg1) {
//do thing
}
}
module.exports = Profile;
index. js
const prfManager = require('./profile_manager');
prfManager.doThing();
После вызова .doThing () я получаю ошибку TypeError, говорящую, что «Профиль не является конструктором» .
ОДНАКО ... Когда я меняю profile_manager. js на следующий код ниже, он работает отлично. Нет TypeError.
class ProfileManager {
doThing() {
const Profile = require('./profile');
const prf = new Profile("Lemon", "ade");
}
}
const prfManager = new ProfileManager();
module.exports = prfManager;
Я даже console.log записал объект prf, и он работает так, как я хочу. Почему это работает только тогда, когда я перемещаю «const Profile = require ('./ profile');» внутри метода, но когда я помещаю его в верхнюю часть модуля, он не хочет работать.