Ответ 1
Это должно быть <script type=module src=test.js>
. Весь синтаксис тонко изменен в сценариях модуля (import
и export
разрешены, а также строгий режим является обязательным).
Запуск Chrome 61, который должен поддерживать загрузку модуля с помощью import
.
В действительности для меня работает Paul demo. Однако, когда я пытаюсь это сделать, я получаю JS-ошибку "Неожиданный импорт токена". Кажется, что Chrome не имеет значения import
:
test.html
<!doctype html>
<html>
<body>
<script src="test.js"></script>
</body>
</html>
test.js:
import {hello} from './something.js'
console.log(hello())
something.js
export {hello}
function hello() {
return "hello world"
}
Почему Chrome не понимает "импорт"
Это должно быть <script type=module src=test.js>
. Весь синтаксис тонко изменен в сценариях модуля (import
и export
разрешены, а также строгий режим является обязательным).
Наконец... понял это. chrome://flags
поиск для import
разрешить синтаксис import
ES6. Перезапустите Chrome. Будь счастлив.
Для тех из вас, кто хочет точно знать, что сработало для меня, это было как бы сочетание пары ответов сверху. Мне также пришлось включить возможности импорта ES6 в Chrome, набрав в строке URL хром://флаги и поискать "импорт".
Сначала HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Testing JavaScript Stuff</title>
</head>
<body>
<script type="module">
import { circleArea, squareArea } from './CalcArea.js';
console.log(circleArea(2));
console.log(squareArea(2));
</script>
</body>
</html>
Таким образом, вы можете просто добавить тип "модуль" в свой тег скрипта, затем ниже вы импортируете. Для моего теста файл CalcArea.js:
const circleArea = r => 3.14 * (r ** 2);
const squareArea = s => s * s;
export {circleArea, squareArea};