草庐IT

Express-WS

全部标签

node.js - 如何在 Express 中获取所有已注册的路线?

我有一个使用Node.js和Express构建的Web应用程序。现在我想列出所有已注册的路线及其适当的方法。例如,如果我执行了app.get('/',function(...){...});app.get('/foo/:id',function(...){...});app.post('/foo/:id',function(...){...});我想检索一个对象(或与之等效的对象),例如:{get:['/','/foo/:id'],post:['/foo/:id']}这可能吗?如果可以,怎么做? 最佳答案 表达3.x好的,我自己找到

node.js - Express 函数中的 "res"和 "req"参数是什么?

在以下Express函数中:app.get('/user/:id',function(req,res){res.send('user'+req.params.id);});什么是req和res?它们代表什么,它们的含义是什么,它们的作用是什么?谢谢! 最佳答案 req是一个对象,其中包含有关引发事件的HTTP请求的信息。为了响应req,您使用res发回所需的HTTP响应。这些参数可以任意命名。如果更清楚,您可以将该代码更改为:app.get('/user/:id',function(request,response){respons

node.js - 如何让 Express 输出格式良好的 HTML?

在使用ExpressforNode.js时,我注意到它输出的HTML代码没有任何换行符或制表符。虽然下载起来可能效率更高,但在开发过程中可读性不是很好。如何让Express输出格式正确的HTML? 最佳答案 在你的主app.js或它的位置:Express4.xif(app.get('env')==='development'){app.locals.pretty=true;}Express3.xapp.configure('development',function(){app.use(express.errorHandler())

node.js - Node.js + Express.js 应用的错误处理原则?

Node.js+Express.js中的错误报告/处理似乎有所不同应用程序与其他框架相比。我是否正确理解它的工作原理如下?A)检测错误,方法是接收它们作为回调函数的参数。例如:doSomethingAndRunCallback(function(err){if(err){…}});B)报告MIDDLEWARE中的错误,方法是调用next(err)。示例:handleRequest(req,res,next){//Anerroroccurs…next(err);}C)报告ROUTES中的错误,方法是抛出错误。示例:app.get('/home',function(req,res){//A

node.js - express.js 中 app.use 和 app.get 的区别

我对express和node.js有点陌生,我无法弄清楚app.use和app.get之间的区别。看来您可以同时使用它们来发送信息。例如:app.use('/',function(req,res,next){res.send('Hello');next();});好像和这个一样:app.get('/',function(req,res){res.send('Hello');}); 最佳答案 app.use()用于绑定(bind)middleware到您的应用程序。path是“mount”或“prefix”路径,并限制中间件仅适用于请

node.js - 如何使用 express.js 提供特定的静态文件

我想将index.html和/media子目录作为静态文件。索引文件应在/index.html和/URL处提供。我有web_server.use("/media",express.static(__dirname+'/media'));web_server.use("/",express.static(__dirname));但第二行显然服务于整个__dirname,包括其中的所有文件(不仅仅是index.html和media),其中我不要。我也试过web_server.use("/",express.static(__dirname+'/index.html'));但访问基本URL/

node.js - 如何在 Express 的多个文件中包含路由处理程序?

这个问题在这里已经有了答案:HowtoseparateroutesonNode.jsandExpress4?(9个回答)关闭去年。在我的NodeJSexpress应用程序中,我的app.js有一些常见的路由。然后在wf.js文件中,我想定义更多路线。如何让app.js识别wf.js文件中定义的其他路由处理程序?一个简单的require似乎不起作用。 最佳答案 如果你想把路由放在一个单独的文件中,例如routes.js,你可以这样创建routes.js文件:module.exports=function(app){app.get('/

node.js - Express.js : how to get remote client address

我不完全明白我应该如何获取远程用户IP地址。假设我有一个简单的请求路由,例如:app.get(/,function(req,res){varforwardedIpsStr=req.header('x-forwarded-for');varIP='';if(forwardedIpsStr){IP=forwardedIps=forwardedIpsStr.split(',')[0];}});上述方法正确获取真实用户IP地址还是有更好的方法?那么代理呢? 最佳答案 如果您在NGiNX之类的代理或您拥有的代理后面运行,那么您应该检查'x-f

node.js - express.Router 和 app.get 的区别?

我从NodeJS和Express4开始,我有点困惑。我一直在阅读Express网站,但看不到when使用路由处理程序或何时使用express.Router。如我所见,如果我想在用户点击/show时显示页面或其他内容,例如,我应该使用:varexpress=require('express')varapp=express()app.get("/show",someFunction)一开始,我认为这是旧的(对于Express3)。是这样吗,还是Express4也是这样?如果这是Express4中的方法,那么express.Router是做什么用的?我阅读了与上面几乎相同的示例,但使用的是e

node.js - 使用 Express 4.0 上传文件 : req. files undefined

我正在尝试获得一个与Express4.0一起使用的简单文件上传机制,但我不断在app.postreq.files的undefined/正文。以下是相关代码:varbodyParser=require('body-parser');varmethodOverride=require('method-override');//...app.use(bodyParser({uploadDir:path.join(__dirname,'files'),keepExtensions:true}));app.use(methodOverride());//...app.post('/fileupl