У меня была похожая ситуация, но я использую php для внедрения скрипта. Я использую только vanilla javascript, и мне нужно было добавить расширение ".js" в мой импорт, чтобы оно работало. Я знаю, что с React расширение .js не нужно, но я предполагаю, что это будет зависеть от среды, в которой вы работаете. Надеюсь, это поможет кому-то еще.
ичного проекта я пытаюсь использовать импорт ES6 для написания более чистого кода. В качестве первого теста я пишу объект, который должен генерировать меню. Весь код работает, когда я непосредственно загружаю класс, но при использовании импорта и экспорта в ES6 выдает ошибку «Uncaught SyntaxError: Неожиданный идентификатор» наimport
линия вmain.js
У меня есть следующие файлы:
активы / JS / menu.module.js
'use strict';
export default class Menu
{ ... }
активы / JS / main.js
import Menu from "./menu.module.js";
window.addEventListener('DOMContentLoaded', () => {
const menu = new Menu();
});
index.html
<script type="module" src="assets/js/menu.module.js"></script>
<script src="assets/js/main.js">
Обратите внимание, что это только соответствующие строки кода.
С помощью<script type="module">
линия или нет, казалось, не имеет никакого значения для меня. У меня есть и флаги chrome для экспериментальных, и для модулей ES6, так как без них я получил сообщение об ошибкеimport
не определяется
Версия Chrome будет 62, поэтому, согласно различным источникам (включая сам журнал обновлений Google), это должно работать, даже без флагов.
Может кто-нибудь просветить меня, почему это не работает, и что я делаю неправильно?