【发布时间】:2018-02-18 20:20:01
【问题描述】:
我正在使用 create-react-app 制作一个项目。有一个配置的服务器等等。我在我的应用程序中使用 react-router-dom 进行路由。有“评论”组件。当它开始渲染自己时,它会转到我的本地 json 文件并使用 ajax 从那里获取 cmets。当用户单击“提交”时,它将带有表单字段的 POST 请求发送到同一个 json 文件。我有将新对象添加到我的 json 文件的代码。当用户在 '/api/cmets' 路线中时,它应该可以工作。这是向我的 json 文件添加新对象的代码(需要 express):
`app.post('/api/comments', function(req, res) {
fs.readFile(COMMENTS_FILE, function(err, data) {
if (err) {
console.error(err);
process.exit(1);
}
var comments = JSON.parse(data);
var newComment = {
id: Date.now(),
author: req.body.author,
text: req.body.text,
};
comments.push(newComment);
fs.writeFile(COMMENTS_FILE, JSON.stringify(comments, null, 4),
function(err) {
if (err) {
console.error(err);
process.exit(1);
}
res.json(comments);
});
});
});`
但是如果我使用“create-react-app”并且它使用它自己配置的服务器(据我所知),我不知道我应该把这段代码放在哪里。也许有一种方法可以更改“create-react-app”使用的服务器并将这段代码放在那里来处理这条路线?或者也许有一种方法可以使用“react-router”来处理这条路线?
【问题讨论】:
标签: node.js ajax reactjs express react-router