Проблемы с javascript API импорта и экспорта - PullRequest
0 голосов
/ 27 апреля 2020

У меня проблемы с импортом зависимости Dropbox для курса скримбы под названием «Построить органайзер расходов с ES6 и Dropbox». Я хотел бы попрактиковаться с API Dropbox на моем собственном компьютере, но у меня возникли проблемы с подключением Dropbox SDK к моему проекту. Я установил зависимость, но я застрял на этой ошибке в моей терминальной консоли:

SyntaxError: The requested module 'dropbox' does not provide an export named 'Dropbox'

И затем я попробовал более старый метод 'require' и получил это :

var Dropbox = require('dropbox').Dropbox;
              ^
ReferenceError: require is not defined 

Я пробовал также без использования ключевого слова require:

import { Dropbox } from 'dropbox';
         ^^^^^^^
SyntaxError: The requested module 'dropbox' does not provide an export named 'Dropbox'
    at ModuleJob._instantiate (internal/modules/esm/module_job.js:92:21)
    at async ModuleJob.run (internal/modules/esm/module_job.js:107:20)
    at async Loader.import (internal/modules/esm/loader.js:167:24)

Мой пакет. json выглядит так:

{
  "name": "z-dropbox-file-organizer-scrimba",
  "version": "1.0.0",
  "description": "scrimba course",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "type": "module",
  "dependencies": {
    "dropbox": "^4.0.30",
    "es6-promise": "^4.2.8",
    "isomorphic-fetch": "^2.2.1"
  }
}

Есть ли что-то, что я не учитываю? Спасибо за любую помощь!

1 Ответ

0 голосов
/ 28 апреля 2020

Я решил свою проблему! Я удалил "type": "module" из своего пакета. json файл, который я добавил сам ранее (из-за чего-то, что я погуглил, я забыл почему). Но я не совсем понимаю, что такое ESM. Я понимаю, что «требовать» было по-старому, а «импорт» - это новый способ ES6. Но удаление этого позволило моему скрипту работать в моем терминале!

...