如何解决在使用 Vercel 和 Next.js 部署时连接到数据库的 Web 应用程序的所有页面上出现的 500 错误?

编程入门 行业动态 更新时间:2024-10-04 11:21:37

<a href=https://www.elefans.com/category/jswz/34/1771394.html style=如何解决在使用 Vercel 和 Next.js 部署时连接到数据库的 Web 应用程序的所有页面上出现的 500 错误?"/>

如何解决在使用 Vercel 和 Next.js 部署时连接到数据库的 Web 应用程序的所有页面上出现的 500 错误?

每当我部署连接到数据库的网站时,我的主页上都会出现错误代码 500。但是,一旦我单击页面链接,此错误代码就会消失。在这个例子中,我将演示我的问题。每次重新加载时,页面都会出现错误 500。

这是一个自己尝试的链接网络应用程序链接

我在 vercel 部署中得到的错误日志,我什至不知道 useReducer 是什么。

TypeError: Cannot read properties of null (reading 'useReducer')
    at exports.useReducer (/var/task/node_modules/react/cjs/react.production.min.js:25:274)
    at C (file:///var/task/node_modules/react-toastify/dist/react-toastify.esm.mjs:1:3995)
    at file:///var/task/node_modules/react-toastify/dist/react-toastify.esm.mjs:1:12367
    at Ge (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:118:245)
    at Z (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:120:91)
    at He (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:123:155)
    at Je (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:122:100)
    at Z (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:120:222)
    at Ge (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:116:194)
    at Z (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:120:91)
TypeError: Cannot read properties of null (reading 'useReducer')
    at exports.useReducer (/var/task/node_modules/react/cjs/react.production.min.js:25:274)
    at C (file:///var/task/node_modules/react-toastify/dist/react-toastify.esm.mjs:1:3995)
    at file:///var/task/node_modules/react-toastify/dist/react-toastify.esm.mjs:1:12367
    at Ge (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:118:245)
    at Z (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:120:91)
    at He (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:123:155)
    at Je (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:122:100)
    at Z (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:120:222)
    at Ge (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:116:194)
    at Z (/var/task/node_modules/next/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js:120:91) {
  page: '/'
}
RequestId: 392aafab-7177-47e7-af08-fc21eace983a Error: Runtime exited with error: exit status 1
Runtime.ExitError

这些是我主页的服务器端道具

export const getServerSideProps = async () => {
  const client = connexion();
  const data = await client.products.findMany({orderBy: {name:'asc'}
    
  });

  let Products = data;

  return {
    props: {
      Products: JSON.parse(JSON.stringify(Products)),
    },
  };
};

供参考,这是connexion()

import { PrismaClient } from "@prisma/client";

declare namespace global {
    var client: PrismaClient | undefined;
}

export function connexion() {
    let cached = global.client;

    if (cached == null) {
        cached = global.client = new PrismaClient();
    }

    return cached;
}

我的环境变量存储在一个 .env 文件中,我在我的 vercel 配置中设置它们。我的数据库 not 处于生产模式,我正在使用 planet scale 和 prisma。

回答如下:

更多推荐

如何解决在使用 Vercel 和 Next.js 部署时连接到数据库的 Web 应用程序的所有页面上出现的 500 错误?

本文发布于:2024-05-31 05:44:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1771336.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何解决   连接到   应用程序   错误   页面

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!