在Apollo服务器中设置Cookie以在Next.js应用程序中访问,您可以使用apollo-server-express
库和express
库来实现。
首先,确保您已安装这两个库:
npm install apollo-server-express express
在Apollo服务器文件中,您可以按照以下方式设置Cookie:
const express = require('express');
const { ApolloServer } = require('apollo-server-express');
// 创建一个新的Express应用程序
const app = express();
// 在Apollo服务器中设置cookie
app.use((req, res, next) => {
// 这里设置您的cookie选项
res.cookie('yourCookieName', 'yourCookieValue', { maxAge: 900000, httpOnly: true });
next();
});
// 创建Apollo服务器
const server = new ApolloServer({
// Apollo服务器配置选项
});
// 将Apollo服务器中间件应用于Express应用程序
server.applyMiddleware({ app });
// 启动Express应用程序
app.listen({ port: 4000 }, () =>
console.log(`Server ready at http://localhost:4000${server.graphqlPath}`)
);
在上面的代码中,我们使用app.use
中间件函数来设置Cookie。在res.cookie
方法中,您可以设置您的Cookie名称,值以及其他选项,如maxAge
和httpOnly
。
请注意,这只是一个简单的示例,您可以根据实际需要设置更多的Cookie选项。
然后,您可以在Next.js应用程序中访问该Cookie。您可以使用js-cookie
库来实现。首先,确保您已安装该库:
npm install js-cookie
然后,在您的Next.js文件中,您可以按照以下方式访问该Cookie:
import Cookies from 'js-cookie';
// 获取Cookie值
const cookieValue = Cookies.get('yourCookieName');
console.log(cookieValue);
在上面的代码中,我们使用Cookies.get
方法来获取特定名称的Cookie值,并将其存储在cookieValue
变量中。您可以根据需要将其用于您的Next.js应用程序。
希望这可以帮助到您!