Next JS npm start app load 404 page not found 物理页面报错

Next JS npm start app load 404 page not found error for physical pages

我的项目在 运行 dev 命令下运行良好,但是当我尝试 npm start 除了 Index.js.[= 其他页面 (pages/...) 出现 404 页面未找到错误14=]

我尝试了几种从表单(gthub 问题和博客)中找到的方法,但没有任何效果。

有什么想法吗?实际上为什么 运行 dev 和 start 之间应该有区别?我想我们应该在开发过程中看看我们的应用程序有什么问题

来自package.json

的脚本
"scripts": {
  "dev": "next",
  "start": "next start",
  "build": "next build"

},

和next.config.js

const withCSS = require("@zeit/next-css");
module.exports = withCSS({
  cssModules: true,
  cssLoaderOptions: {
    importLoaders: 1,
    localIdentName: "[local]___[hash:base64:5]"
  }});

如您所见,我在安装 nextJS 后没有做任何更改。

在启动您的应用程序之前,您需要使用 npm 运行 build 命令构建,然后启动您的应用程序。

首先,您需要了解您想要构建什么样的应用程序。 它是无服务器的吗?或某种服务器以及您想使用什么网络服务器(有很多选项)。

对于无服务器应用程序:

生产构建您需要做的就是next export,此功能将生成静态文件作为您的网站。 Read more here...

对于带有服务器的应用程序:

如果你想运行npm run start,你需要先做npm run build

npm run build 为生产模式编译和优化您的构建。

npm run start 运行 您的网络服务器,用于为您的 html 文件提供服务。

如果您完成了这两个步骤,则意味着您的服务器文件有问题,您的网络服务器 API 没有侦听请求,因此它不会将您重定向到正确的页面。

我发现如果文件名在 Windows 上有大写字母,则会出现 404 错误。

我将所有文件名更改为小写字符,404 错误消失了。