我有一个ApolloServer项目,它给我带来了麻烦,所以我想我可能会更新它,但在使用最新的Babel时遇到了问题。我的index.js是:
require('dotenv').config()
import {startServer} from './server'
startServer()
当我运行它时,我得到了错误
SyntaxError: Cannot use import statement outside a module
首先,我试图说服TPTB*这是一个模块(没有成功)。所以我把“import”改成了“require”,这就成功了。
但现在我在其他文件中有大约24个“导入”给我同样的错误。
*我敢肯定我问题的根源是我甚至不知道抱怨的是什么。我有点假设它是巴别塔7(因为我来自巴别塔6,我不得不改变预设),但我不是100%确定。
我发现的大多数解决方案似乎并不适用于直节点。比如这个:
ES6模块导入给出“未捕获SyntaxError:意外标识符”
说它是通过添加“type=module”来解决的,但这通常会在HTML中,其中我没有。我也尝试使用我的项目的旧预设:
"presets": ["es2015", "stage-2"],
"plugins": []
但这又给了我另一个错误:“错误:插件/预设文件不允许导出对象,只能导出函数。”
以下是我开始时的依赖关系:
"dependencies": {
"@babel/polyfill": "^7.6.0",
"apollo-link-error": "^1.1.12",
"apollo-link-http": "^1.5.16",
"apollo-server": "^2.9.6",
"babel-preset-es2015": "^6.24.1",