草庐IT

Express-C

全部标签

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

node.js - Express.js req.body 未定义

我有这个作为我的Express服务器的配置app.use(app.router);app.use(express.cookieParser());app.use(express.session({secret:"keyboardcat"}));app.set('viewengine','ejs');app.set("viewoptions",{layout:true});//Handlespostrequestsapp.use(express.bodyParser());//Handlesputrequestsapp.use(express.methodOverride());但是,当

node.js - Express中使用的参数 "next"是什么?

假设你有这样一个简单的代码块:app.get('/',function(req,res){res.send('HelloWorld');});这个函数有两个参数,req和res,分别代表请求和响应对象。另一方面,还有其他带有第三个参数的函数,称为next。例如,让我们看看下面的代码:app.get('/users/:id?',function(req,res,next){//Whydoweneednext?varid=req.params.id;if(id){//dosomething}else{next();//Whatisthisdoing?}});我无法理解next()的意义或使

node.js - body-parser 对 express 有什么作用?

我不明白为什么我们需要在Express应用程序中使用body-parser,因为我们可以在不使用body-parser的情况下获取数据。它实际上是做什么的以及如何做的? 最佳答案 编辑:2019年4月2日在express@4.16.0中,body-parser中间件包含在express中,因此您不再需要单独安装body-parser。formoredetailsseethis旧:要在Express.js版本4及更高版本中处理HTTPPOST请求,您需要安装名为body-parser的中间件模块。body-parser提取传入请求流的

node.js - NodeJS/Express : what is "app.use"?

在docsfortheNodeJSexpressmodule,示例代码有app.use(...)。什么是use函数,在哪里定义? 最佳答案 应用程序对象在创建Express服务器时被实例化。它有一个中间件栈,可以在app.configure()(thisisnowdeprecatedinversion4.x)中自定义。.要设置您的中间件,您可以调用app.use()对于您要添加的每个中间件层(它可以对所有路径通用,或者仅在您的服务器处理的特定路径上触发),它将添加到您的Express中间件堆栈。中间件层可以在use的多次调用中一层一

node.js - Express-js 无法获取我的静态文件,为什么?

我已将我的代码简化为我可以制作的最简单的express-js应用程序:varexpress=require("express"),app=express.createServer();app.use(express.static(__dirname+'/styles'));app.listen(3001);我的目录如下所示:static_file.js/stylesdefault.css然而当我访问http://localhost:3001/styles/default.css我得到以下错误:CannotGET/styles/default.css我正在使用express2.3.3和n