Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何将会话和cookies用于express.use(express.static(';static';)?_Node.js_Express_Session Cookies_Single Page Application_Progressive Web Apps - Fatal编程技术网

Node.js 如何将会话和cookies用于express.use(express.static(';static';)?

Node.js 如何将会话和cookies用于express.use(express.static(';static';)?,node.js,express,session-cookies,single-page-application,progressive-web-apps,Node.js,Express,Session Cookies,Single Page Application,Progressive Web Apps,我有一个关于express后端的网络会话cookie的问题。在前面,我使用一个Vue PWA/SPA,它通过express.use(express.static('static'))安装在express static上为生成的文件提供服务 我做了一些研究,我们可以在函数中附加选项 express.use(cookieParser()); express.use(session({ secret : `${uuid()}`, proxy: true, resave: false,

我有一个关于express后端的网络会话cookie的问题。在前面,我使用一个Vue PWA/SPA,它通过
express.use(express.static('static'))安装在express static上为生成的文件提供服务

我做了一些研究,我们可以在函数中附加选项

express.use(cookieParser());
express.use(session({
  secret : `${uuid()}`,
  proxy: true,
  resave: false,
  saveUninitialized: false,
  cookie: {
    maxAge: 1000 * 60 * 30
  }
}))

const options = {
  dotfiles: 'ignore',
  etag: false,
  extensions: ['html', 'htm'],
  index: false,
  maxAge: '1d',
  redirect: false,
  setHeaders: function(res, path, stat) {
    res.set('Set-Cookie', "myCookie=cookieValue;Path=/");
    res.set('x-timestamp', Date.now());
  }
}
express.use(express.static('static' , options));
做完这些之后,我希望我可以通过
document.cookie
在浏览器上阅读
mycokie=cookieValue
,但我没有看到这些数据打印在页面上

我也用
\uu dirname
方法进行了尝试,然后做了

app.get("/", function(req, res) {
  req.session.fullname = "Oh mi gee";
  res.render("index");
});
没有给我想要的。我是否有办法添加会话/cookie,以便通过在标头上传递cookie数据进行确认,从而在某种程度上保护API调用


提前谢谢

我已经弄明白了,就是把这个
express.static
放在express配置的最后

在我们建立
express.static
之前,我们需要

app.use('/path', (req, res, next) => {
  req.session.views++;
  res.cookie('myCookie', 'cookieValue', {
    maxAge: 1000 * 60 * 30
  });
  console.log(req.session);
  next();
})

将在半小时后将Cookie传输到客户端。

我想好了,就是将这个
express.static
放在express配置的最后

在我们建立
express.static
之前,我们需要

app.use('/path', (req, res, next) => {
  req.session.views++;
  res.cookie('myCookie', 'cookieValue', {
    maxAge: 1000 * 60 * 30
  });
  console.log(req.session);
  next();
})
将在半小时后将cookies传输到客户端