草庐IT

expressive

全部标签

node.js - 使用 passport.js 和 express.js (node.js) 制作安全的 oauth API

我有一个具体的问题,除非我没有以正确的方式做事。我有一个包含2个面的应用程序、一个客户端(html站点)和一个API(使用express+mongodb构建)。API需要被安全访问。他们都在不同的域上,现在假设我的网站在domain.com上,我的API在api.com:3000上。当我使用他们的数据创建用户时,我添加了Passport以从Github获取访问token,因此我基本上可以“使用Github登录”。我目前的流程是:1)客户端(站点),在API上打开一个弹出窗口window.open("http://api.com:3000/oauth")2)express服务器,启动Pa

javascript - 使用 Express/Node.js 和 Angular 处理取消的请求

当客户端/浏览器取消挂起的HTTP请求时,NodewithExpress似乎会继续处理该请求。对于密集的请求,CPU仍然忙于处理不必要的请求。有没有办法让Node.js/Express终止/停止这些请求取消的待处理请求?鉴于AngularJS1.5HTTP请求很容易cancellable,它变得特别有用。通过在$http/$resource对象上调用$cancelRequest()。当公开为自动完成或搜索字段提供结果的API方法时,可能会发生这种取消:在要自动完成或预先输入的字段中键入时,可以取消先前的请求。全局server.timeout不能解决问题:1)它是所有公开API方法的先验

Node.js Express 与 Flatiron

类似于thisquestion,“我正在寻找每个框架的优缺点,以及为什么一个框架比另一个框架特别有用”(但主要是Flatiron必须提供的,因为Express在该问题中已经非常详细)。根据我对Express的轻微经验,它似乎只涵盖了您需要的内容,仅此而已。Flatiron似乎做到了这一点,但更简约。如果您查看他们的website,与Express中包含的许多其他功能相比,它们提供了大约5-7个主要功能。最后,对于高度可扩展的网络应用程序来说,这似乎是最有希望的,为什么我应该使用这个或那个框架而不是根本不使用框架? 最佳答案 在提出这

node.js - Express 应用程序中端口 3000 的意义

我注意到几乎所有Express.js应用程序示例都使用端口3000作为HTTP服务器的默认监听端口。这仅仅是因为它是一个很少使用的端口,还是这个端口号有任何其他原因?如果我想在本地计算机上并排运行多个应用程序,使用3000、3001、3002等端口是否是一种好习惯?(我理解理想情况下,您应该让系统分配端口。这只是一个简单的问题,为什么3000似乎是常规分配。) 最佳答案 3000是一个有点随意的端口号,因为它允许您在没有root访问权限(提升权限)的情况下试验express。端口80和443是默认的HTTP和HTTPS端口,但在大多

node.js - 使用 mocha 设置/拆卸 express.js 应用程序

我正在尝试使用mocha创建一个独立的测试套件,在完美的世界中,它将启动我的express.js应用程序,使用zombie来呈现页面,检查一堆东西,然后拆除/杀死express。.js应用程序。有没有简单/最好的方法来做到这一点?注意。我可以在运行测试之前运行express应用程序服务器,但是如果你不打算刮牦牛,那有什么用呢。 最佳答案 首先,您需要将您的实际应用设置移动到一个模块中,并将其导入到实际启动您的应用的文件中。现在这是分开的,您可以在实际收听之前让应用程序处于完整状态。你应该将你的应用程序的实际设置移动到一个单独的文件中

javascript - 使用 Express、Node.JS 和 Require 模块进行外部 API 调用

我的路线如下:varexpress=require('express');varrouter=express.Router();varrequest=require('request');router.get('/',function(req,res,next){request({uri:'http://www.giantbomb.com/api/search',qs:{api_key:'123456',query:'WorldofWarcraft:Legion'},function(error,response,body){if(!error&&response.statusCode

带有 Express : how to redirect a POST request 的 Node.js

我想从一个URL请求重定向到另一个'POST'请求,如下所示:varapp=require('express')();app.get('/',function(req,res){res.redirect('/test');});app.post('/test',function(req,res){res.send('/testpage');});app.listen(3000,function(){console.log('listenningonport:3000');});但是,我无法重定向到“/test”页面,因为它是一个POST请求。那么我应该怎么做才能使重定向工作,保持'/t

javascript - Express 和 Typescript - Error.stack 和 Error.status 属性不存在

我正在尝试将现有的node.js项目从javascript转换为typescript。我一直在使用VisualStudioExpress4模板中的默认404错误捕获器://catch404andforwardtoerrorhandlerapp.use(function(req,res,next){varerr=newError('NotFound');err.status=404;next(err);});但是,我收到以下错误消息:类型“错误”上不存在属性“状态”。如果我尝试调用错误的.stack属性,我会收到类似的消息:“错误”类型上不存在属性“堆栈”。有人知道这里发生了什么吗?编辑

node.js - Socket.IO 错误 'listen()' 方法在迁移到 Express 3.0 后需要一个 'http.Server' 实例

我今天开始学习Node.js,但我有点卡住了。关注this例如,当我尝试执行js文件时出现以下错误:Warning:express.createServer()isdeprecated,expressapplicationsnolongerinheritfromhttp.Server,pleaseuse:varexpress=require("express");varapp=express();Socket.IO's`listen()`methodexpectsan`http.Server`instanceasitsfirstparameter.Areyoumigratingfrom

node.js - 将 Express.js 2 迁移到 3,特别是 app.dynamicHelpers() 到 app.locals.use?

将Express.js从版本2更新到3,并且对app.dynamicHelpers({..})的以下调用中断,因为它不再存在于V3中:app.dynamicHelpers({request:function(req){returnreq},...etc.});有一个migrationguide上面写着:app.dynamicHelpers()(使用中间件+res.locals)但我很难做到这一点。有没有更具体的例子来说明如何迁移?相关SO帖子:nodejsexpress3.0 最佳答案 我对session.user有同样的问题,只是