Ошибка: "Неожиданный токен" {'. При вызове импорта ожидается ровно один аргумент "при попытке импортировать функции из скрипта - PullRequest
0 голосов
/ 27 января 2019

Я установил html-страницу, которая содержит кнопку, которая при нажатии активирует функцию из внешнего файла javascript.Данный файл JS импортирует две другие функции из другого файла JS.Однако когда я загружаю html-файл в свой браузер (Safari 12.0.2) и просматриваю его в отладчике, я получаю сообщение об ошибке «SyntaxError: Неожиданный токен '{'. Вызов import ожидает ровно один аргумент».

Файлы называются «html_test_run.html», «test_run_javascript.js» и «export_test_run.js».Я попытался установить тип сценария на «модуль», но это привело только к новой ошибке, которая гласила: «Исходный ноль не разрешен Access-Control-Allow-Origin».Я также попытался создать три html-тега, первые два имели источник js-файлов, а третий определил новую функцию, которую вместо этого будет использовать кнопка, которая тоже не работала.

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Test run</title>
    <meta name="description" content="Test run">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!--
    <link rel="stylesheet" href="">
  -->
  <script type="text/javascript" src="assets/test_run_javascript.js">
  </script>
  </head>
  <body>
      <button type="button" name="button" onclick="doSomething()">Click me</button>
  </body>
</html>

Первый файл JS:

import {doSomethingElse1, doSomethingElse2} from "export_test_run.js";
function doSomething(){
  doSomethingElse1();
  doSomethingElse2();
  console.log("Test successful");
}

Второй файл JS:

function doSomethingElse1(){
  console.log("Test successful1");
}

function doSomethingElse2(){
  console.log("Test successful2");
}

export {doSomethingElse1, doSomethingElse2};

Я ожидал, что файлы будут загружены правильно, и кнопка вызовет функцию "doSomething () "при нажатии.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 29 января 2019

Вы можете включить два файла js на первую страницу:

  <script type="text/javascript" src="export_test_run.js">
  </script>
  <script type="text/javascript" src="assets/test_run_javascript.js">
  </script>

Удалите код экспорта и импорта из файлов js!Используйте правильные пути для включения.

...