为什么 Vercel 无法构建我的 Next.js tsx 应用程序?
Why is Vercel failing to build my Next.js tsx app?
当我在我的本地机器上 运行 npm 运行 build 和 npm start 时,它完美地部署到本地主机但是当我尝试将完全相同的代码部署到 Vercel 时,我收到以下错误:
08:28:16 Failed to compile.
08:28:16 ./pages/index.tsx:5:20
08:28:16 Type error: Cannot find module '../components/layout' or its corresponding type declarations.
这肯定是 Layout 组件的问题,我调换了 important 的顺序,但在尝试加载 Layout 组件时总是失败。这是组件的代码:
import Alert from "./alert";
import Footer from "./footer";
import Meta from "./meta";
type Props = {
preview?: boolean;
children: React.ReactNode;
};
const Layout = ({ preview, children }: Props) => {
return (
<>
<Meta />
<div className="min-h-screen">
<Alert preview={preview} />
<main>{children}</main>
</div>
<Footer />
</>
);
};
export default Layout;
index.tsx 第 5 行看起来像这样 import Layout from "../components/layout";
我已经确认这是布局组件的正确路径。
您确定文件名是 layout.tsx 而不是 Layout.tsx :-)
我也经历过同样的事情。
将 layout.tsx 修复为 Layout.tsx
文件名和组件名必须相同
当我在我的本地机器上 运行 npm 运行 build 和 npm start 时,它完美地部署到本地主机但是当我尝试将完全相同的代码部署到 Vercel 时,我收到以下错误:
08:28:16 Failed to compile.
08:28:16 ./pages/index.tsx:5:20
08:28:16 Type error: Cannot find module '../components/layout' or its corresponding type declarations.
这肯定是 Layout 组件的问题,我调换了 important 的顺序,但在尝试加载 Layout 组件时总是失败。这是组件的代码:
import Alert from "./alert";
import Footer from "./footer";
import Meta from "./meta";
type Props = {
preview?: boolean;
children: React.ReactNode;
};
const Layout = ({ preview, children }: Props) => {
return (
<>
<Meta />
<div className="min-h-screen">
<Alert preview={preview} />
<main>{children}</main>
</div>
<Footer />
</>
);
};
export default Layout;
index.tsx 第 5 行看起来像这样 import Layout from "../components/layout";
我已经确认这是布局组件的正确路径。
您确定文件名是 layout.tsx 而不是 Layout.tsx :-)
我也经历过同样的事情。 将 layout.tsx 修复为 Layout.tsx 文件名和组件名必须相同