gpt4 book ai didi

javascript - 如何在生产中获取绝对 URL?

转载 作者:行者123 更新时间:2023-12-05 00:30:02 32 4
gpt4 key购买 nike

我面临的问题是,在使用 getStaticPaths 时,我无法在生产版本中获取绝对 URL。和 getStaticProps

export async function getStaticPaths() {
const url =
process.env.NODE_ENV === "development"
? "http://localhost:3000"
: "https://websitename.vercel.app";
const res = await fetch(`${url}/api/posts`);
const posts = await res.json();
console.log("posts: ", posts);

const paths = posts.map(({ slug }) => ({
params: { slug },
}));

console.log("Paths: ", paths);

return { paths, fallback: false };
}

export async function getStaticProps({ params }) {
console.log("params: ", params);
const url =
process.env.NODE_ENV === "development"
? "http://localhost:3000"
: "https://websitename.vercel.app";
const res = await fetch(`${url}/api/post`, {
method: "POST",
body: params.slug,
});
const post = await res.json();

return {
props: { post },
};
}
它在开发版本中运行良好,但在生产中它失败了,因为硬编码 https://websitename.vercel.app不是 vercel 生成的那个. vercel 生成的 URL是这样的 websitename-q1hdjf6c2.vercel.app .
我该如何解决?

最佳答案

您可以使用 ${process.env.VERCEL_URL}/my/route .
查看
Vercel environment variables

关于javascript - 如何在生产中获取绝对 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63669578/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com