我在 Mern Stack 中开发了一个网络应用。现在我正在用 Next JS 更新它以进行 SEO 改进。
我从 youtube 上学习了一些 Next JS 课程并阅读了文档。
我对 pages 文件夹中的 api 文件夹感到困惑。语法看起来像 express。
有什么用?我是否必须在那里再次创建我的 REST Api?
我可以在 package.json 中为 api 调用添加代理,例如 Next JS 中的 React 吗?
这是mern应用程序的文件夹结构:
client
public
src
actions
components
constants
reducers
screens
App.js
server
config
controllers
middlewares
models
routes
utils
server.js
这是客户端对其余 api 的示例请求
useEffect(() => {
const getTestimonails = async () => {
try {
const res = await fetch("/api/testimonials/");
return await res.json();
} catch (err) {
console.error(err);
}
};
getTestimonails().then((data) => {
setTestimonials(data);
});
}, []);
Rest API server.js
app.use('/api/testimonials', testimonialRoutes);
路线
router.route('/').get(getTestimonials).post(protect, createTestimonial);
router
.route('/:id/')
.get(checkObjectId('id'), getTestimonialById)
.put(protect, checkObjectId('id'), updateTestimonial)
.delete(protect, checkObjectId('id'), deleteTestimonial);