javascript API导入和导出遇到问题

时间:2020-04-27 04:05:57

标签: javascript api export dropbox-api

我无法为题为“使用ES6和Dropbox构建费用管理器”的scrimba课程导入Dropbox依赖项。我想在自己的计算机上练习Dropbox API,但是在将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)

我的package.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 :(得分:0)

我解决了我的问题!我从先前添加自己的package.json文件中删除了"type": "module"(由于我用Google搜索的东西,我忘记了原因)。但是我想我不太了解什么是ESM。我知道'require'是旧方法,而'import'是新ES6方法。但是删除它可以使我的脚本在我的终端上运行!