javascript - javascript 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"
}
}
有什么我没有考虑的吗?感谢您的任何帮助!
解决方案
我解决了我的问题!我 "type": "module"
从我之前添加的 package.json 文件中删除了(因为我用谷歌搜索了一些东西,我忘记了为什么)。但我想我不太明白 ESM 是什么。我知道'require'是旧方式,'import'是新的ES6方式。但是删除它允许我的脚本在我的终端中运行!
推荐阅读
- maven - 为什么 Tomcat Maven 插件无法重新部署并出现错误 404?
- data-science - 如果我只关心特征重要性,我应该在测试和训练之间拆分数据吗?
- c# - C# 项目需要 .NET 4.7.1 但我无法安装它
- ios - 从本地文件反应原生视频
- colors - 有没有一种将 RGB 三元组分类为颜色组的快速方法?
- firebase-admin - 使用 firebase-admin-java 时如何启用 http 日志?
- reactjs - 在反应中处理复选框
- r - 从字符串中提取多个路径
- javascript - 原始数据方法
- javascript - 您可以创建动态 Firebase 查询吗?