Я пытаюсь использовать модули es6, но получаю ошибку:
SyntaxError: Неожиданный идентификатор GameObject. вызов импорта ожидает ровно один аргумент.
Кстати, это в Safari 11 на macOS 10.13.
Вот мой модуль:
export class GameObject {
//code
}
export class GameLoop {
//code
}
соответствующий html:
<body>
<script type="module" src="gameFoundation.js"></script>
<script src="gameTest.js"></script>
</body>
и скрипт, который пытается использовать модуль, который выдает вышеупомянутую ошибку в строке 1:
import GameObject from "./gameFoundation.js"
import GameLoop from "./gameFoundation.js"
class Rect extends GameObject {
//code
}
Я новичок в JavaScript, поэтому я думаю, что у меня что-то совершенно неправильное. Любая помощь приветствуется. ????
import
не является вызовом. 07.01.2018script
внутриbody
? 07.01.2018import
имеетtype="module"
, например.<script type="module" src="filename.js"></script>
или<script type="module">/*code here*/</script>
. Если вам нужно ориентироваться на браузеры, которые еще не поддерживают модули, вам понадобится сборщик, такой как Webpack или Browserify. 07.01.2018<script src="gameTest.js"></script>
отсутствуетtype="module"
, поэтому, хотя он и находится на верхнем уровне, он находится на верхнем уровне скрипта, а не модуля. См. мой комментарий выше, вы может использовать толькоimport
в модулях. (Я также обновил ответ, я пропустил эту часть вопроса.) 08.01.2018{}
, реальной проблемой является отсутствиеscript type="module"
. @ T.J.Crowder, есть ли шанс, что вы могли бы отредактировать ответ, чтобы отразить изменения в вопросе? 05.07.2021