0

我创建了一个 nextjs 应用程序,我正在从部署在 netlify 上的快速服务器获取数据。我创建了两个页面,第一个页面显示用户列表(我有具有 getServerSideProps() 函数的用户),第二个页面是当您单击用户时,您将被重定向到用户配置文件(我'已经通过 getStaticProps() 和 getStaticPaths() 函数获得了用户的数据)。

在本地主机上一切正常。

但是当我尝试在 Netlify 上部署应用程序时,我在构建它时遇到了这个错误:

> 晚上 11:24:20 发生构建错误:错误:导出在以下路径 /users/[userid] 上遇到错误

用户列表文件:

import styles from "../../styles/Home.module.css";
import Link from "next/link";

export default function Users({ users }) {
  return (
    <div className={styles.container}>
      {users.map((user) => (
        <Link href={`/users/${user._id}`} key={user._id}>
          {user.firstname}
        </Link>
      ))}
    </div>
  );
}

export async function getServerSideProps() {
  const res = await fetch("https://***************/api/users");
  const users = await res.json();

  return { props: { users} };
}

配置文件:

import React from "react";

export default function singleUser({ user }) {
  return (
    <div>
      <h1>Hello {user.firstname}!</h1>
    </div>
  );
}

export async function getStaticPaths() {
  const res = await fetch("https://***************************/api/users");
  const users = await res.json();

  const paths = users.map((user) => ({
    params: { userid: user._id },
  }));

  return { paths, fallback: true };
}

// This also gets called at build time
export async function getStaticProps({ params }) {
  const res = await fetch(`https://**********************/api/users/${params.userid}`);
  const user = await res.json();

  return { props: { user: user || {} }, revalidate: 3600 };
}

4

0 回答 0