next.js 应用程序在本地运行良好,但在生产中返回 500 内部服务器错误

问题描述 投票:0回答:1

我遇到的问题基本上是我的应用程序在本地运行良好,但在生产中使用服务器端渲染的任何地方都会返回 500 内部服务器错误。我网站的其他部分通常在

useEffect
componentDidMount
中调用,工作完全正常,就像我的仪表板或授权流程工作没有问题,但我使用过
ssr
的任何地方都会返回 500。 以下是我如何处理我的
ssr
页面的一些示例。

索引页:

import React from 'react';
import HomePage from '../components/homePage/index'
import { Api, GuestHeaders } from '../components/config'

const Home = (props) => {
  return <HomePage {...props} />
}

export async function getServerSideProps() {
  const Response = await Api.get(`/v1/index`, { headers: GuestHeaders })
  return {
    props: {
      Detail: Response.data,

    }
  }
}

export default Home

这是我的

Api
组件:

import axios from 'axios';

const GuestHeaders = {
    'Authorization': "",
    'content-type': 'application/json'
}

const Api = axios.create({
    baseURL: 'baseUrl'
})

export { Api, GuestHeaders };

这是我的

server.js

// server.js
const { createServer } = require('http')
const { parse } = require('url')
const next = require('next')

const dev = process.env.NODE_ENV !== 'production'
const app = next({ dev })
const handle = app.getRequestHandler()

app.prepare().then(() => {
  createServer((req, res) => {
    // Be sure to pass `true` as the second argument to `url.parse`.
    // This tells it to parse the query portion of the URL.
    const parsedUrl = parse(req.url, true)
    const { pathname, query } = parsedUrl


  }).listen(3000, (err) => {
    if (err) throw err
    console.log('> Ready on http://localhost:3000')
  })
})

还有我的

next.config.js

module.exports = {
    basePath: '',
    trailingSlash: false,
}
javascript reactjs axios next.js internal-server-error
1个回答
0
投票

更新 NextJS 版本为我解决了从 14.0.2 到 14.2.5 的问题

© www.soinside.com 2019 - 2024. All rights reserved.