我正在尝试设置 Apollo 服务器并使用
startStandaloneServer
方法来启动服务器,但它显示错误,await
无法在 async
函数之外使用。
我使用这个网站作为参考startStandaloneServer这是我的代码。
import { ApolloServer } from '@apollo/server';
import { startStandaloneServer } from '@apollo/server/standalone';
import { typeDefs } from "./schema.js";
import db from "./_db.js";
const resolvers = {
Query: {
games() { return db.games },
reviews() { return db.reviews },
authors() { return db.authors }
}
};
const server = new ApolloServer({
typeDefs,
resolvers
});
const { url } = await startStandaloneServer(server); //I am getting an error here
console.log("Server started at port:", 4000);
这是我的
package.json
。我已将 type
更改为 module
{
"name": "Graphql",
"version": "0.1.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"express": "^4.18.2",
"@apollo/server": "^4.10.0",
"graphql": "^16.8.1"
},
"engines": {
"node": "14.x"
},
"license": "MIT",
"type": "module",
"keywords": [
"node",
"glitch"
]
}
如果您使用打字稿,您应该将 tsconfig.json 中的目标更改为“ESNext”,并将 package.json 中的类型设置为“module”,它应该可以工作。这就是我的情况