【问题标题】:Next JS npm start app load 404 page not found error for physical pagesNext JS npm start app load 404 page not found 物理页面错误
【发布时间】:2020-05-25 01:26:02
【问题描述】:

我的项目使用 run dev 命令运行良好,但是当我尝试 npm start 时,我得到了 404 页除 Index.js 之外的其他页面(pages/...)未找到错误。

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

有什么想法吗?实际上为什么 run 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 后我没有做任何更改。

【问题讨论】:

  • 你有服务器端文件吗?你用什么网络框架?
  • 我不明白这个问题。它是下一个 js 应用程序。该网站与 npm run dev 配合良好
  • 请提供更多代码,以便我们了解您的情况,例如您的app.js 或监听浏览器请求的服务器文件
  • @DarrylRN,我没有改变任何与 nextjs 相关的东西。没有任何 app.js 或其他东西。刚刚安装的应用程序,添加了几页。在 npm run dev 中一切正常,但是使用 npm start,所有路由页面都返回 404 page not found。我在本地,还没有发布任何内容,只是想将 localhost:3000 视为生产。
  • 你能检查文件名吗?将 camelCase 转换为小写,然后重试))

标签: javascript reactjs next.js npm-start


【解决方案1】:

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

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

【讨论】:

  • 嗨瓜拉夫。是的,如 cmets 中所述,它与后一种情况有关
  • 这也发生在 MacOS :V
【解决方案2】:

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

对于无服务器应用:

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

对于带服务器的应用:

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

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

npm run start 运行您的网络服务器来提供您的 html 文件。

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

【讨论】:

  • 我在本地,我没有开始将它发布到任何服务器。只是想启动应用程序以查看生产的结果。我正在向问题添加控制台屏幕截图。
  • 我在本地做了所有事情。刚刚安装了 nextjs 应用程序,与 run dev 一起工作,现在在 npm start 中启动应用程序。结果是什么都没有工作。
  • 请提供您的页面代码示例,我发现该示例在我的本地使用生产构建npm run build && npm run start 运行良好
  • 好的,我正在添加更多屏幕。
  • 我的建议是添加自定义服务器来为您的页面提供服务,您可以查看这里的示例github.com/zeit/next.js/tree/canary/examples/…,还有其他选项可以使用,例如 hapi、koa 等。原因是你的页面结构变得复杂了,我不确定如何使用默认的下一个路由器来处理它。
【解决方案3】:

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

【讨论】:

  • 当然我是在开始之前构建它,我没有提到它,因为它是第一步。我构建了应用程序,然后 npm start 和网站正常打开,但无法在页面之间导航,所有页面都像 404 页面未找到。
猜你喜欢
  • 2021-12-21
  • 2021-12-12
  • 1970-01-01
  • 2019-09-11
  • 2012-09-05
  • 1970-01-01
  • 2020-12-05
  • 2018-12-03
  • 1970-01-01
相关资源
最近更新 更多