我无法为题为“使用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"
}
}
有什么我不负责的吗?谢谢您的帮助!
答案 0 :(得分:0)
我解决了我的问题!我从先前添加自己的package.json文件中删除了"type": "module"
(由于我用Google搜索的东西,我忘记了原因)。但是我想我不太了解什么是ESM。我知道'require'是旧方法,而'import'是新ES6方法。但是删除它可以使我的脚本在我的终端上运行!