Запрошенный модуль «франк» не предоставляет экспорт с именем «по умолчанию»

#javascript #node.js #json #github #npm

Вопрос:

Я пытаюсь использовать пакет франка, но каждый раз, когда я пытаюсь его запустить, появляется ошибка «Запрошенный модуль» франк «не предоставляет экспорт с именем «по умолчанию»», и я не знаю, что это значит. Я попытался изменить имя файла на mjs или добавить «тип»=»модуль» в package.json, но это дает мне только эту ошибку, я не могу найти никакого решения в Интернете.

Примечание: —экспериментальные-модули не работают( написано «302226 npm»: команда не найдена)

Это файл js(я добавил «тип»=»модуль» в package.json)

 import franc from 'franc';
console.log(franc('Hi, I speak english!'));
 

Это package.json

 {
  "name": "curs",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo "Error: no test specified" amp;amp; exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "franc": "^6.0.0",
    "lang": "^0.1.1"
  }
  
}
 

PS: Игнорируйте Лэнга, я хочу сказать, что в первую очередь нужно заставить франка бежать.

Ответ №1:

Это означает, что пакет не экспортируется, как export default ... , но вы пытаетесь импортировать его, как если бы он был. Действительно, когда вы указываете имя без окружающих фигурных скобок, это означает, что вы хотите импортировать экспорт по умолчанию и присвоить ему свое собственное имя.

Библиотека , которую вы пытаетесь импортировать, на самом деле имеет такой экспорт export function franc() { //... } , поэтому вам нужно импортировать ее следующим образом:

 import { franc } from 'franc';
 

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

1. Спасибо, что действительно помогли мне. Я начал учиться node.js всего несколько дней назад, и кажется, что курс, на котором я учусь, слегка устарел.

2. Рад, что это помогло!