У меня такой же код, но с одной стороны он работает, а с другой - нет. Когда я помещаю этот код в один файл, он работает, но когда я использую импорт с babel, я получаю сообщение об ошибке. Пример кода:
class Mob {
constructor(name) {
this.name = name;
this.health = 100;
}
getHealth() {
return this.health;
}
weather() {
game.setWeather('rainbow');
console.log(game.weather);
}
}
class World {
constructor(name) {
this.name = name;
this.weather = 'rain';
this.monsters = {};
}
addMonster(name) {
const monster = new Mob(name);
this.monsters['1'] = monster;
}
setWeather(weather) {
this.weather = weather;
}
play() {
this.addMonster('dragon');
this.monsters['1'].weather();
}
}
Но когда я разделю его на два файла, вроде этого:
World. js:
import Mob from './Mob';
export default class World {
constructor(name) {
this.name = name;
this.weather = 'rain';
this.monsters = {};
}
addMonster(name) {
const monster = new Mob(name);
this.monsters['1'] = monster;
}
setWeather(weather) {
this.weather = weather;
}
play() {
this.addMonster('dragon');
this.monsters['1'].weather();
}
}
Моб. js:
export default class Mob {
constructor(name) {
this.name = name;
this.health = 100;
}
getHealth() {
return this.health;
}
weather() {
game.setWeather('rainbow');
console.log(game.weather);
}
}
И импортируйте его как:
import World from './game_manager/World';
const game = new World;
game.play();
У меня есть ошибка, в которой говорится игра (игра. setWeather ('rainbow')) не определено. Как я могу это исправить, если я хочу иметь этот код в двух отдельных файлах?