jjzjj

expressjs

全部标签

javascript - ExpressJS 和在单独的路由文件之间传递变量

我将ExpressJs与Node.js一起使用,并将我的所有路由放入一个“路由”文件夹中。在服务器上,我进行数据库连接,然后定义我的路由,如下所示:varroutes=require('./routes');vardb;dbconnect=newmongo.Db(config.mongo_database,newmongo.Server(config.mongo_host,config.mongo_port,{}),{});dbconnect.open(function(err,db){db.authenticate(config.mongo_user,config.mongo_pas

node.js - ExpressJS 错误 : Body-Parser Deprecated

问题我正在尝试构建Node.jsAPI,在编写server.js文件时,我的代码如下所示:varexpress=require('express');varexpress=require('body-parser');varapp=express();app.use(bodyParser.json());app.get('/api/posts',function(req,res){res.json([{username:'oscar',body:'hello'}])})app.listen(3000,function(){console.log('ServerListeningon',

javascript - `this` 在 expressJS 路由处理程序中未定义

groups.jsclassgroupsCtrl{constructor(){this.info="test";}get(res,req) {console.log("LOG!",JSON.stringify(this));}}module.exports=newgroupsCtrl();//singletonroutes.jsvarexpress=require('express');varrouter=express.Router();vargroupsCtrl=require('controllers/api_admin/groups.js');router.get('/grou

regex - ExpressJS 路由正则表达式

我有路线:app.get('/:id',routes.action);它工作正常,但我需要跳过robot.txt和其他(人类....)我创建正则表达式(仅字符或数字):/^[a-z]{0,10}$/我怎样才能只路由匹配这个正则表达式的id? 最佳答案 将正则表达式放在括号中,如下所示:app.get('/:id(^[a-z]{0,10}$)',routes.action); 关于regex-ExpressJS路由正则表达式,我们在StackOverflow上找到一个类似的问题:

node.js - 如何使用 ExpressJS 4 上传文件?

这个问题在这里已经有了答案:FileuploadingwithExpress4.0:req.filesundefined(12个回答)关闭7年前。来自ExpressJS4API,我发现req.files无效。现在如何使用ExpressJS4上传文件? 最佳答案 我在升级后遇到了这个问题,其中req.files未定义。我使用multer修复了它.所以,npminstallmulter然后在你的app.js中varmulter=require('multer');app.use(multer({dest:'./tmp/'}));在那之后

node.js - 在 Expressjs 应用程序中使用集群

我正在我的第一个Node项目上做一些OJT,虽然我可以建立一个简单的服务器,但该应用程序会受到重创,因此使用集群似乎是个好主意。我拼凑了一些在各种搜索(包括SO)中找到的代码片段,但服务器无法启动。我确信我对Node的缺乏经验让我做了一些愚蠢的事情,但我没有看到它。varexpress=require('express');varcluster=require('cluster');varpath=require('path');varcCPUs=require('os').cpus().length;varport=3000;varroot=path.dirname(__dirnam

node.js - 在 ExpressJS/NodeJS 中移动文件

我正在尝试使用NodeJS/ExpressJS将上传的文件从/tmp移动到home目录:fs.rename('/tmp/xxxxx','/home/user/xxxxx',function(err){if(err)res.json(err);console.log('donerenaming');});但它不起作用,也没有遇到错误。但是当新路径也在/tmp中时,它会起作用。我使用的是Ubuntu,home在不同的分区。有什么办法吗?谢谢 最佳答案 是的,fs.rename不会在两个不同的磁盘/分区之间移动文件。这是正确的行为。fs.

node.js - 如何使用 ExpressJS 检查 Content-Type?

到目前为止,我有一个非常基本的RESTfulAPI,我的Express应用配置如下:app.configure(function(){app.use(express.static(__dirname+'/public'));app.use(express.logger('dev'));app.use(express.bodyParser());});app.post('/api/vehicles',vehicles.addVehicle);如果内容类型不是application/json,我如何/在哪里添加阻止请求到达我的app.post和app.get的中间件?中间件应该只停止对以/

node.js - 使用中间件在expressjs中的应用程序重定向

我正在尝试制作一个用于处理url别名的中间件,我现在正在做的是://[...]module.exports=function(){returnfunction(req,res,next){//getAliaswouldgetanobject{alias:"alias/path",source:"/real/path"}ornullvaralias=getAlias(req.url);if(alias){req.url=alias.source;}next();};};所以基本上我在商店中寻找所请求的url,如果找到它作为别名,我将request.url更改为该别名的源路径,以便expr

node.js - 使用 expressjs 流式传输对客户端的响应时遇到问题

在使用Nodejs/Expressjs时,我很难思考如何将数据流式传输回我的客户端。我正在从我的数据库中获取大量数据,并且我正在分block进行,我想在获取数据时将其流式传输回客户端,这样我就不必将整个数据集存储在内存中一个json对象,然后再将其发回。我希望数据以文件的形式流回,即我希望浏览器询问我的用户如何处理下载的文件。我之前正在创建一个文件系统写入流并将我的数据内容流式传输到文件系统,然后完成后我会将文件发送回客户端。我想消除中间人(在文件系统上创建tmp文件),只需将数据流式传输到客户端。app.get('/api/export',function(req,res,next)