Ошибка синтаксиса: Невозможно использовать оператор импорта вне модуля

#javascript #npm #fetch-api

Вопрос:

Я прошел через множество документов и других источников, но не могу исправить свою ошибку. Я только что изучил JavaScript и пробую команды fetch (), но не могу передать эту ошибку(название)

Вот мой код

index.js

 import fetch from 'node-fetch';

fetch('http://example.com/movies.json')
  .then(response => response.json())
  .then(data => console.log(data));


 

пакет.json

 {
  "name": "Weather-API",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo "Error: no test specified" amp;amp; exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "node-fetch": "^3.0.0"
  }
}
 

Комментарии:

1. Какая версия узла у вас есть? Введите node -v в командной строке. У меня есть v16.3, и код отлично работает для меня.

2. Я использую v16.10.0

3. Я использовал ваш пакет.json, затем набрал npm install и node index.js . Сработало отлично.

4. Ранее я был реплитом, потому что я использовал свой телефон, но я перенес его на свой VSCode, и, казалось, все работало нормально, должно быть, это была проблема с IDE Replit

Ответ №1:

Как упоминал Крис Джи, этот код работает нормально.

Код:

 fetch('https://jsonplaceholder.typicode.com/posts/1')
      .then(response => response.json())
      .then(data => console.log(data));
 

Выход:

 {
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipitnsuscipit recusandae consequuntur expedita et cumnreprehenderit molestiae ut ut quas totamnnostrum rerum est autem sunt rem eveniet architecto"
}
 

Пожалуйста, удалите строку импорта и повторите попытку. Если это все еще не удается, пожалуйста, проверьте версию вашего узла, я успешно попробовал с 14.17.0.

Комментарии:

1. В настоящее время я использую v16.10.0, и это не сработает, я добавил импорт, и, похоже, это сработало.

2. «удалить строку импорта»…? Нет.