jjzjj

javascript - 使用异步/等待时在 Express 中捕获未处理的异常

看下面的TypeScript代码:app.get('/test_feature',function(req:Request,res:Response){thrownewError("Thisisthebug");});app.use(logErrors);functionlogErrors(err:Error,req:Request,res:Response,next:NextFunction){console.log(err);mongoDal.log(err.message,err);next(err);}在这里,我在请求处理程序中抛出一个错误,它会按预期触发logErrors函数

javascript - expressjs node.js 为 google/etc 机器人和人类流量提供不同的数据

我想确定传入的请求是来自机器人(例如google、bing)还是人类,并为每个请求提供不同的数据,例如,用于客户端javascript构建网站的json数据或预处理的html。使用expressjs,有没有简单的方法来做到这一点?谢谢。 最佳答案 您可以在req.header('User-Agent')中检查“Mozilla/5.0(兼容;Googlebot/2.​​1;+http://www.google.com/bot.html”)。如果您知道它是Google并且可以向它发送不同的数据。http://www.google.com

javascript - 如何在 Node JS 中将 JS 对象从服务器端传递到客户端

在PHP中,我曾经使用脚本标记以JSON形式将对象从后端传递到前端。varserversideStuff='';我如何使用nodeJS、express和Jade将JS对象从服务器端传递到客户端。可能有一个我不知道的非常好的方法。希望你能帮帮我。 最佳答案 在PHP中,您使用了错误的做法(动态生成javascript作为应用程序的一部分)。有了node,你做对了。这意味着你要么将数据写入HTML(如果没有javascript,您的网站将如何工作,您使用的是渐进增强,对吧?)将该数据公开为您通过Ajax或WebSockets与之交谈的W

javascript - 我可以在客户端使用 PostgreSQL (pg) (express/node.js)

我想在客户端使用PostgreSQL。那可能吗?我可以要这个代码吗?在我的server.js中varpg=require('pg');在我的客户端varconString="postgres://postgres:pass@localhost/mydb";varclient=newpg.Client(conString);client.connect();varquery=client.query("SELECT*FROMusers");query.on('row',function(row){alert(row.name);});我试过这段代码,但没有任何反应。尽管我可以使用与此类似

javascript - Express + socket.io : socket. io 客户端脚本是 404

这让我发疯了……虽然我有一个Express+Socket.io的工作版本,但我似乎无法通过在新项目文件夹中安装开箱即用的NPM来重现它。谁能指出我所缺少的......?这是我的过程:我在我的项目目录(pwd)中创建了一个node_modules文件夹,然后执行:npminstallexpressnpminstallsocket.io运行这两个命令会将包按预期放置在我项目的node_modules文件夹中。现在我使用以下内容设置我的服务器:varexpress=require('express'),server=express.createServer().use(express.sta

javascript - 通过 gm 流式传输使用 Express.js 上传的文件以消除双写

我正在使用Express.js并有一个上传图像的路径,然后我需要调整这些图像的大小。目前我只是让Express将文件写入磁盘(我认为它在幕后使用node-formidable)然后使用gm调整大小(http://aheckmann.github.com/gm/)将第二个版本写入磁盘。gm(path).resize(540,404).write(dest,function(err){...});我读到你可以在将node-formidable文件流写入磁盘之前获取它,并且由于gm可以接受流而不是只是一个路径,我应该能够通过消除对磁盘的双重写入来传递这个权利。我想我需要覆盖form.onPa

javascript - app.all 和 app.use 有什么区别?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。app.all()和app.use()有什么区别?

javascript - grunt.task.run() 不工作

我正在尝试在我的express应用程序中使用grunt。我有这样的东西:vargrunt=require('grunt');require(process.cwd()+'/gruntfile.js')(grunt);grunt.task.run('development');但是这个任务好像不行。(没有错误输出到控制台)但是,如果我直接在控制台“gruntdevelopment”中运行,它就可以正常工作。 最佳答案 grunt.task.run只是将一个任务添加到队列中,因此它可以在现有任务中运行,但不能在外部脚本中运行。这是我从g

javascript - express /Node.js : Render custom javascript as response

在我的应用程序中,我需要提供一个API(类似于GoogleMapsjavascriptAPI),通过它我可以发送一些自定义javascript(带有一些session和请求相关信息)作为响应。然后使用javascript在UI上绘制一些图形。我使用ExpresswithJade作为我的模板引擎。我目前使用的代码是:app.use('/graph',function(req,res){//sendoutgraphdatavarvar_name=req.session.var_name//fetchsomethingfromsessionvargraphData=fetchGraphDat

javascript - 大多数中间件(如 compress)不再与 Express 捆绑在一起

我刚刚安装了sails@v0.9.16、express@4.0.0、compression@1.0.1和compress@0.1.9(只是为了确定)。但是我在运行sailslift时仍然出现以下错误/Users/myuser/myproject/backend/node_modules/express/lib/express.js:89thrownewError('Mostmiddleware(like'+name+')isnolongerbundle^Error:Mostmiddleware(likecompress)isnolongerbundledwithExpressandmu