Не могу импортировать модуль ES6 - PullRequest
0 голосов
/ 25 марта 2019

У меня проблемы с импортом модуля в мой файл index.js.Когда я начинаю отладку, я всегда получаю сообщение об ошибке «Uncaught SyntaxError: неожиданный идентификатор»

Мой файл index.html:

.
.
.
</body>
<script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>    
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/defines.js"></script>
<script type="text/javascript" src="js/jgestures.js"></script>
<script type="text/javascript" src="js/mdb.js"></script>
<script type="module" src="index.js"></script>
<script type="module" src="js/global.js"></script>
</html>

Модуль, который я хочу импортировать «modals.js»:

class Modals{
  let b = 0;
}
export {Modals};

Первая строка моего файла index.js (где происходит ошибка):

import {Modals} from './modals.js'

Кто-нибудь знает, что не так с моим кодом?

Ответы [ 2 ]

1 голос
/ 25 марта 2019

Похоже, вы не используете классы ES6 должным образом. Кроме того, имейте в виду, что не все браузеры работают с ES6, может быть лучше использовать функции или транспортер, такой как Babel.

Я бы порекомендовал просмотреть документы , чтобы получить повышение квалификации, но вот фрагмент кода того, что вам нужно сделать, чтобы ваш пример работал с классами ES6

Ваш файл modals.js станет:

class Modals{
  constructor (b) {
    this.b = b;
  }
}
export {Modals};

Ваш index.js:

import {Modals} from './modals.js';

let m = new Modals('something')
console.log('m', m)

Ваш index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="module" src="index.js"></script>
</body>
</html>

Удачи!

0 голосов
/ 25 марта 2019

Я бы посоветовал сначала проверить поддержку браузера. Модули ES6 существуют уже некоторое время, но, возможно, ваша версия браузера не поддерживает этот синтаксис.

Тогда вам понадобится транспортер, такой как Babel , чтобы использовать этот тип операторов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...