【发布时间】:2019-04-18 12:10:24
【问题描述】:
我有一个在 Next.js 中构建的简单 React 应用程序,它正在运行一个快速服务器:
app.prepare()
.then(() => {
const server = express()
server.get('/job/:id', (req, res) => {
const actualPage = '/job'
const queryParams = { id: req.params.id }
app.render(req, res, actualPage, queryParams)
})
server.get('*', (req, res) => {
return handle(req, res)
})
server.listen(3000, (err) => {
if (err) throw err
console.log('> Ready on http://localhost:3000')
})
})
.catch((ex) => {
console.error(ex.stack)
process.exit(1)
})
我也有 Material-UI 用于材质样式组件,需要确保组件得到服务器端渲染。
我已尝试关注this tutorial,但似乎无法调整代码以适应在 Next.js 中设置 Express 服务器的方式
我相信我基本上需要添加某种JssProvider 来运行服务器端和客户端,以便两者都可以访问样式表。如果我错了,请纠正我?
有人知道如何在 Next 中实现这一点吗?
如果有人有一个使用 SSR Material-ui 设置的 Next.js 示例应用程序的链接,那也将是一个巨大的帮助。
谢谢
【问题讨论】:
-
@PedroVieira 建议 JssProvider 是正确的。更多详情,example 向您展示如何使用 NextJS + Material UI
标签: javascript node.js reactjs material-ui next.js