Javascript 在node js中创建节点服务器并设置错误处理程序
我想创建一个返回http.Server和 在HTTP响应的主体中提供文件testText.txt的文本 对“/”路由发出GET请求时。 解析“段落”参数的请求。 该参数必须是整数,并表示 您希望从测试文本开始接收的段落。 返回响应正文中的适当内容。 如果发生任何错误,请返回500错误。 如果提供的路由未知,则返回404错误 这是我到目前为止所拥有的Javascript 在node js中创建节点服务器并设置错误处理程序,javascript,node.js,Javascript,Node.js,我想创建一个返回http.Server和 在HTTP响应的主体中提供文件testText.txt的文本 对“/”路由发出GET请求时。 解析“段落”参数的请求。 该参数必须是整数,并表示 您希望从测试文本开始接收的段落。 返回响应正文中的适当内容。 如果发生任何错误,请返回500错误。 如果提供的路由未知,则返回404错误 这是我到目前为止所拥有的 首先,欢迎来到节点世界 1)使用res中的文件 请参考这个。它会帮助你的 2)如果出现任何错误,则错误代码为500 res.status(500).
首先,欢迎来到节点世界 1)使用res中的文件 请参考这个。它会帮助你的 2)如果出现任何错误,则错误代码为500
res.status(500).json({success: 0, error 'Something went wrong'});
3)如果路线不匹配,用于手柄404
var createError = require('http-errors');
//Install via this command-> npm i http-errors --save
app.use(function (req, res, next) {
next(createError(404));
});
正如您在问题中提到的,在函数中使用err对象,如下所示:
function makeServer() {
return http.createServer(function(req, res){
if(req.url === '/'){
fs.readFile('testText.txt', function(err , para){
if (err) {
res.status(500).send({
message: "Something went wrong"
})
// error handling
} else {
console.log("Data", para);
res.end();
}
});
console.log("The end");
}
}
我希望能做这样的事
var express = require('express');
var app = express();
//Handle 404 here
app.use(function (req, res, next) {
res.status(404).send({
message: "Page Not Found"
})
});
将GET请求注入默认路由
app.get('/', (req, res) => {
// **modify your existing code here**
fs.readFile('testText.txt', (e, para) => {
if (e) {
res.status(500).send({
message: "Something went wrong"
})
}
res.send(para);
});
});
app.listen(5555);
您能添加从上述代码中得到的错误吗?您如何在请求中传递“段落”,我无法正确理解testText.txt包含paragraph@Sohan首先,我们读取testText.txt,然后解析“段落”请求 parameter@Jhon你为什么不使用express JS?那么我将使用express Sir?,你能为我的问题提供完整答案吗,谢谢。但我正在使用和在线浏览器编译器Sir@JhonCull最佳实践是与postman一起使用real node API。其他开发者也分享了答案,所以我不认为我需要分享答案。你可以用它。如果您有任何其他疑问,请告诉我。:)我们在哪里解析段落参数?@JhonCull请检查更新的答案,我修改了它,有500个错误,您可以使用响应对象根据错误共享状态代码和消息。404路由错误?例如,如果有人试图用/abc或/error之类的东西调用路由,那么您必须创建一个新的路由请求,并且如应答中所述,使用带有.status(404)和.send()的响应对象message@SohantestText.txt包含文本段落列表,先生,您能提供一个404示例吗?先生,他没有使用express。!为了便于注意,使用状态代码404代替400。更新错误代码,我在上面的评论中询问了为什么他不使用express JS。如果有适当的例子,他可以使用。我们如何处理“该参数必须是一个整数,并表示从测试文本开始您希望接收的段落数。”?先生,这就是你的逻辑
app.get('/', (req, res) => {
// **modify your existing code here**
fs.readFile('testText.txt', (e, para) => {
if (e) {
res.status(500).send({
message: "Something went wrong"
})
}
res.send(para);
});
});
app.listen(5555);