简体   繁体   English

错误构建 NextJS 应用程序错误发生预呈现页面

[英]Error Building NextJS App Error occurred prerendering page

I want to deploy my app, but I run into an error building my project.我想部署我的应用程序,但在构建项目时遇到错误。

info  - Loaded env from /Users/furkanulker/Desktop/Projects/dev-project/.env
info  - Skipping validation of types  
info  - Creating an optimized production build  
info  - Compiled successfully
info  - Collecting page data  
[    ] info  - Generating static pages (0/4)TypeError: Cannot read properties of undefined (reading 'city')
    at NotFound (/Users/furkanulker/Desktop/Projects/dev-project/.next/server/chunks/601.js:40:31)
    at Jc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:64:191)
    at Mc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:66:253)
    at Z (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:89)
    at Mc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:13)
    at Z (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:89)
    at Mc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:66:481)
    at Z (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:89)
    at Nc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:98)
    at Pc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:72:306)

Error occurred prerendering page "/[country]/NotFound". Read more: https://nextjs.org/docs/messages/prerender-error
furkanulker@Furkans-Air-2 dev-project % yarn build
yarn run v1.22.19
$ next build
info  - Loaded env from /Users/furkanulker/Desktop/Projects/dev-project/.env
info  - Skipping validation of types  
info  - Creating an optimized production build  
info  - Compiled successfully
info  - Collecting page data  
[    ] info  - Generating static pages (0/4)TypeError: Cannot read properties of undefined (reading 'city')
    at NotFound (/Users/furkanulker/Desktop/Projects/dev-project/.next/server/chunks/601.js:40:31)
    at Jc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:64:191)
    at Mc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:66:253)
    at Z (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:89)
    at Mc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:13)
    at Z (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:89)
    at Mc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:66:481)
    at Z (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:89)
    at Nc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:98)
    at Pc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:72:306)

Error occurred prerendering page "/[country]/NotFound". Read more: https://nextjs.org/docs/messages/prerender-error
TypeError: Cannot read properties of undefined (reading 'city')
    at NotFound (/Users/furkanulker/Desktop/Projects/dev-project/.next/server/chunks/601.js:40:31)
    at Jc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:64:191)
    at Mc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:66:253)
    at Z (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:89)
    at Mc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:70:13)
    at Z (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:89)
    at Mc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:66:481)
    at Z (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:71:89)
    at Nc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:73:98)
    at Pc (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/react-dom/cjs/react-dom-server.browser.production.min.js:72:306)
info  - Generating static pages (4/4)

> Build error occurred
Error: Export encountered errors on following paths:
        /[country]/NotFound
    at /Users/furkanulker/Desktop/Projects/dev-project/node_modules/next/dist/export/index.js:398:19
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Span.traceAsyncFn (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/next/dist/trace/trace.js:79:20)
    at async /Users/furkanulker/Desktop/Projects/dev-project/node_modules/next/dist/build/index.js:1034:21
    at async Span.traceAsyncFn (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/next/dist/trace/trace.js:79:20)
    at async /Users/furkanulker/Desktop/Projects/dev-project/node_modules/next/dist/build/index.js:910:17
    at async Span.traceAsyncFn (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/next/dist/trace/trace.js:79:20)
    at async Object.build [as default] (/Users/furkanulker/Desktop/Projects/dev-project/node_modules/next/dist/build/index.js:58:29)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

[city].tsx looks like this [城市].tsx 看起来像这样

import { useEffect, useState } from "react";
import SearchForm from "../../components/Essential/SearchForm";
import Chart from "../../components/DataVisualization/Chart";
import ResultList from "../../components/DataVisualization/ResultList";
import NotFound from "./NotFound";
import Loader from "../../components/Essential/Loader";
import { motion } from "framer-motion";

export async function getServerSideProps(ctx) {
  const { country, city } = ctx.query;
  return {
    props: {
      country,
      city,
    },
  };
}

function capitalize(str: string) {
  if(str === undefined) return '';
  let splitStr = str.toLowerCase().split(' ');
  for (var i = 0; i < splitStr.length; i++) {
      splitStr[i] = splitStr[i].charAt(0).toUpperCase() + splitStr[i].substring(1);     
  }
  return splitStr.join(' '); 
}

const City = (props) => {
  const country = props.country;
  const city = props.city;
  const [data, setData] = useState<any>(null);
  const [loading, setLoading] = useState<boolean>(true);
  useEffect(() => {
    setLoading(true);
    fetch(`/api/${country}/${city}`)
      .then((response) => {
        if (response.ok) {
          return response.json();
        }
        throw new Error("Error in City");
      })
      .then((data) => {
        setTimeout(() => {
          setData(data);
          setLoading(false);
        }, 1000);
      })
      .catch((error) => {
        console.log(error);
        console.log("error occured");
        setData(0);
      });
  }, []);

  return (
    <>
        <h2 className="text-3xl font-light text-center">
          <b className="font-base text-brand-green-100">Most </b>
          used Programming Languages in {capitalize(city)}.
        </h2>
      {loading ? (
        <Loader />
      ) : data !== 0 ? (
        <motion.div
          initial={{
            opacity: 0,
          }}
          animate={{
            opacity: 1,
          }}
          exit={{
            opacity: 0,
          }}
          className="container-lg mx-auto"
        >
          <div className="my-8 mt-20">
            <SearchForm />
            <span className="text-gray-400 text-xs">
              Search Results for: {capitalize(data.city)}
            </span>
            
          </div>
          <div className="w-full overflow-hidden py-8 pt-4 mx-auto">
            <ResultList data={data} />
            <Chart data={data} />
          </div>
        </motion.div>
      ) : (
        <NotFound props={props} />
      )}
    </>
  );
};

export default City;

NotFound.tsx未找到.tsx

import React from "react";
import SearchForm from "../../components/Essential/SearchForm";
function NotFound({ props }) {  
  return (
    <div className="container-lg mx-auto">
      <div className="my-8 mt-20">
        <SearchForm />
        <span className="text-xs text-gray-400">
          {props.city} is not in the database.
          <em
            className="ml-1 text-white underline cursor-pointer"
          >
          </em>
        </span>
      </div>
    </div>
  );
}

export default NotFound;

Any help would be much appreciated!任何帮助将非常感激!

Stackoverflow tells me I need to add some more text, because it's only code. Stackoverflow 告诉我我需要添加更多文本,因为它只是代码。 But it's self explanatory... Still not enough, I'm gonna add some.但它是不言自明的......仍然不够,我要添加一些。 Lorem, Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem, Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam. At vero eos et accusam et justo duo dolores et ea rebum.在 vero eos et accusam et justo duo dolores et ea rebum。 Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet。

Removing the NotFound.tsx and pasting the HTML inside the [city] page solved this issue for me.删除 NotFound.tsx 并在 [city] 页面内粘贴 HTML 为我解决了这个问题。 But I don't know why..但是不知道为什么。。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在 Next JS 中预呈现页面时发生错误 - Error occurred prerendering page in Next JS 预呈现页面“/”时发生错误。 部署错误 Vercel | Next.js - Error occurred prerendering page "/". Deployment Error Vercel | Next.js 预呈现页面“/404”时发生错误。 阅读更多:https://nextjs.org/.../.../prerender-error 类型错误:c.props.href.startsWith 不是 function - Error occurred prerendering page "/404". Read more: https://nextjs.org/.../.../prerender-error TypeError: c.props.href.startsWith is not a function 构建 NextJs 应用程序时如何解决“发生构建错误 ReferenceError: self is not defined”错误? - How to solve 'Build error occurred ReferenceError: self is not defined' error while building NextJs app? 预渲染页面“/404”时出错,页面/_error 出错:无法导出带有`getServerSideProps` 的页面 - Error occurred prerendering page "/404" and Error for page /_error: pages with `getServerSideProps` can not be exported Next.js &#39;在预渲染页面“/”时发生错误:错误:缩小反应错误 #321;&#39; 在生产构建期间 - Next.js 'Error occurred prerendering page "/": Error: Minified React error #321;' during production build Next.js 国际化路由:生产构建错误:预渲染页面发生错误 - Next.js Internationalized Routing: Production build error: Error occurred prerendering page 预渲染页面“/404”时出错:TypeError: res.writeHead is not a function - Next Js - Error occurred prerendering page "/404" : TypeError: res.writeHead is not a function - Next Js 错误:React Hook “useRouter” - nextJs/javascript 应用程序未构建 - Error: React Hook "useRouter" - nextJs/javascript app not building 在构建应用程序时,必须在每个组件呈现错误中以完全相同的顺序调用 React Hooks - NextJs/Javascript - React Hooks must be called in the exact same order in every component render error when building app - NextJs/Javascript
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM