我正在尝试使用 redis 来存储带有快速会话的会话。这是代码:
//Imports
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const session = require('express-session');
const logger = require('morgan');
//Connect to Redis
const redis = require('redis');
let RedisStore = require('connect-redis')(session);
let redisClient = redis.createClient();
redisClient.connect();
redisClient.on('connect', () => console.log('Connected to Redis..'));
app.use(
session({
store: new RedisStore({ client: redisClient }),
saveUninitialized: false,
secret: 'keyboard cat',
resave: false,
})
);
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(logger('dev'));
app.get('/', function (req, res) {
var body = '';
console.log(req.session);
if …
Run Code Online (Sandbox Code Playgroud) 页面重新加载时,样式消失。第一次加载时,一切看起来都很正常。本地开发环境不会出现此问题。我正在使用 GatsbyJS 和 Material-UI。我尝试过以不同的顺序放置插件,我尝试过更改组件中的样式。我不明白为什么它在本地开发环境中可以工作,但在云中却崩溃了。
在 gatsby-config 中,我将 Material-UI 设置如下:
{
resolve: `gatsby-plugin-material-ui`,
options: {
stylesProvider: {
injectFirst: true,
},
},
},
Run Code Online (Sandbox Code Playgroud)
gatsby-browser 和 gatsby-ssr 都有这个:
import React from 'react'
import ThemeProvider from '@material-ui/styles/ThemeProvider'
import theme from './src/components/ui/Theme'
import GlobalContextProvider from './src/context/GlobalContext'
import CartContextProvider from './src/context/CartContext'
import './src/components/layout.css'
export const wrapRootElement = ({ element }) => {
return (
<ThemeProvider theme={theme}>
<CartContextProvider>
<GlobalContextProvider>{element}</GlobalContextProvider>
</CartContextProvider>
</ThemeProvider>
)
}
require('typeface-roboto')
Run Code Online (Sandbox Code Playgroud)
这是网站。即使我将其链接到此处,主页上的英雄部分也不会加载,但如果您单击(导航上的任何位置)并返回,它就在那里。如果您重新加载,它会再次消失,但如果您单击离开并返回,它会重新出现。所有页面上都会发生这种情况。为什么风格会消失?