问题描述
我在部署React路由器和Apollo服务器时有一些问题。 当在端口4000上启动nodemon index.js,然后在浏览器URL中写入http:// localhost:4000 / graphql而不显示Playground用户界面并重定向到http:// localhost:4000并显示我的应用登录页面时,如何从中跳过此URL反应路线并显示游乐场ui?
这是我的节点index.js:
const http = require("http");
const express = require("express");
const path = require("path");
const { ApolloServer } = require("apollo-server-express");
const cors = require("cors");
const { typeDefs } = require("./startup/typeDefs");
const resolvers = require("./startup/resolvers");
const { contexts } = require("./startup/contexts");
const app = express();
const PORT = process.env.PORT || 4000;
app.use(cors());
app.use(express.static("static"));
const apolloServer = new ApolloServer({
typeDefs: typeDefs,resolvers: resolvers,subscriptions: {
onConnect: (connectionParams) => {
if (connectionParams["x-auth-token"]) {
const token = connectionParams["x-auth-token"];
return { token };
}
throw new Error("Missing auth token!");
},},context: contexts,introspection: true,playground: true,});
apolloServer.applyMiddleware({ app,path: "/graphql"});
app.use(express.static("client/build"));
app.get("*",(req,res) => {
res.sendFile(path.resolve(__dirname,"client/build","index.html"));
});
const httpServer = http.createServer(app);
apolloServer.installSubscriptionHandlers(httpServer);
httpServer.listen(PORT,() => {
console.log(`run on Port ${PORT}`);
});
这是我的路线
<Switch>
<ProtectedRoute
role={[1,2,3]}
path="/missions"
component={MissionPage}
/>
<ProtectedRoute
role={[1,2]}
path="/experts"
component={ExpertsPage}
/>
<ProtectedRoute
role={[1,4]}
path="/addresses"
component={AddressesPage}
/>
<ProtectedRoute
role={[1,3,4]}
path="/home"
component={HomePage}
/>
<ProtectedRoute path="/profile" component={ProfilePage} />
<Route path="/un-authorized" component={UnAuthorizePage} />
<Route path="/error-page" component={TryAgain} />
<Route exact path="/" component={LoginPage} />
</Switch>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)