Nextjs自定义服务器使material-ui变为静态

时间:2020-02-02 07:43:22

标签: node.js reactjs material-ui next.js koa

我目前正在使用Koa,React,Material-UI和NextJS开发NodeJS应用程序。

我知道有一些在Material-UI中使用服务器渲染框架的示例。但是,这些示例假定您正在运行NextJS的默认服务器(next <whatever command>)。就我而言,我正在做一个定制的NextJS服务器。

我目前正在尝试实现Tab功能,并且注意到两个问题:

1)当NextJS的开发标记设置为true时,浏览器上不呈现任何内容。 2)如果构建生产版本,则可以生成内容。但是,我无法与GUI交互。

使用NextJS的默认服务器时,Tab示例代码可以正常工作。

我感觉我在NextJS和Material-UI的配置上做错了什么,但是无法确切地指出我哪里出错了。

这里是我创建的example repository来演示此问题。大部分代码只是从Material-UI's NextJS repository复制过来的。

1 个答案:

答案 0 :(得分:0)

您在应用程序中同时使用了koa路由和next.js文件系统路由,如果您可以禁用其中之一,那会很好。

要禁用next.js文件系统路由,请在next.config.js中粘贴以下代码

useFileSystemPublicRoutes:错误

要解决Material-UI静态问题,请转到server.js文件并更改 路线

等待ctx.render('about') 至 等待ctx.render('/ about')

这将解决您的问题