Tag: 表示

使用适用于Visual Studio的Angular和NodeJS工具构buildNodeJS应用程序

我想知道在使用nvst构buildNodeJS应用程序时,通常如何组织您的应用程序结构。 当我创build我的应用程序时,它会自动为我构build这个结构: 所以,我想到的第一件事情是,我应该在哪里放置控制器,以及如何将它们与路线和视图连接起来? 另外,我怎样才能组织我的unit testing逻辑?

Express.js错误:发送后无法设置标题

我最近一直在接受这个错误,尽pipe我一直在调查为什么我会收到这个错误,但我完全被难住了。 我从以前的研究中知道,这个错误通常与后续的res.send()调用相关联,其中第二个尝试在res.end()被执行后设置头文件。 这个过程是一系列的承诺,基本上从获取数据库中的一个对象开始,处理它,每个承诺使用前一个承诺的结果从数据库中获取其他数据并处理它,直到最终构build一个对象并将其发回给用户。 另一件事是,我们每秒超过2000个请求,并在一段时间后,我开始看到日志中的错误。 完整的错误信息是,然后是一堆Express Timeout错误: Can't set headers after they are sent. Error: Can't set headers after they are sent. at ServerResponse.OutgoingMessage.setHeader (http.js:689:11) at ServerResponse.res.setHeader (/express/node_modules/connect/lib/patch.js:59:22) at ServerResponse.res.set.res.header (/node_modules/express/lib/response.js:522:10) at ServerResponse.res.jsonp (/node_modules/express/lib/response.js:236:8) at validator.validate.then.then.then.then.then.then.then.then.then.fail.res.send.code (<path-to-module>/module.js:131:29) at _fulfilled (/node_modules/q/q.js:798:54) at self.promiseDispatch.done (/node_modules/q/q.js:827:30) at Promise.promise.promiseDispatch (/node_modules/q/q.js:760:13) at /node_modules/q/q.js:574:44 at flush (/node_modules/q/q.js:108:17) 这里是代码: app.get('/endpoint', function (req, res) […]

Express和node.js从一个文件夹运行; 所有链接都指向url根目录

我已经安装节点内的文件夹,并通过Apache转发。 我这样做是因为我有几个虚拟主机通过Apache运行,我不想花时间通过节点设置所有的东西。 同一台服务器上的Apache和Node.js 不过,我正在尝试创build一个聊天引擎。 我试图包含一些js文件,但他们searchhttp://example.org/myscript.js而不是http://example.org/chat/myscript.js 我通过使用来解决这个问题 <base href="/chat/"> 不过,现在我正在尝试整合socket.io。 我包含从https://cdn.socket.io/socket.io-1.3.5.js的 socket.io,因为我无法得到本地serverd /socket.io/socket.io.js正确定位。 现在socket.io正在尝试连接到http://example.org/socket.io该模块不存在。 如果有的话,正确的path应该是http://example.org/chat/socket.io 我一直在寻找遍布互联网的解决scheme。 关于nodejs / express如何操作,我一定有一些基本的或明显的东西。 太感谢了! Server.js – 这是我从节点开始的文件。 var express = require('express'); var path = require('path'); var app = express(); var http = require('http').createServer(app); var io = require('socket.io').listen(http, { log: true, resource:'/socket.io/'}); app.use('/socket.io', express.static(path.join(__dirname,'/node_modules/socket.io/lib/'))); app.use('/bootstrap', express.static(path.join(__dirname,'/node_modules/bootstrap/dist/'))); app.use('/', express.static(__dirname)); var server = […]

来自nodejs中的oauth2-server错误的REST接口

我正在使用nodejs( npm )的oauth2-server插件,并具有以下configuration: app.oauth = oauthserver({ model: oauth.model, grants: ['password'], debug: false }); 当我GET / oauth /令牌没有发送任何参数(没有头,没有查询,没有正文),我得到以下错误为500 – 内部服务器错误: { "name": "OAuth2Error", "message": "Invalid or missing grant_type parameter", "headers": { "Cache-Control": "no-store", "Pragma": "no-cache" }, "code": 400, "error": "invalid_request", "error_description": "Invalid or missing grant_type parameter" } 消息中的代码表示400(错误的请求),我想发送的消息不是500而是400响应。 此外,我得到我的控制台上的错误,即使我有debug:false作为configuration。 我怎样才能改变呢?

Express和Cheerio / JSDOM

我试图让Cheerio和Express一起工作。 我想能够从服务器上操纵dom,但是我发现的只是网页抓取。 有一些要求.. 目前,我可以运行多个app.listen(port); 语句,并使用多个服务器。 我试图附加<script>alert("test);</script>到快递发送的每一个页面。 我创build了快速服务器:(假设Path是一个预定义的variables) var express = require('express'); var app = express(); app.get('/', function (req, res) { app.use(app.static(Path)); res.sendFile(Path + "/index.html"); }); app.listen(Port); 你们可以给我一个工作的例子,将其附加到页面。 有没有办法让这个实时工作? 谢谢!

表示路由器类似的路由

我需要有两条路线,它们在开始时是相似的,但是结尾是不同的,我怎样才能强制执行相应路线的确切模式。 编辑 – 其实问题在于app.use语句,我还没有到达获取路线。 一个) app.get("/admin/event/:id/sessions", function(request, response){ B) app.get("/admin/event/:id", function(request, response){ C) app.use("/admin/event/:id", function(request, response, next){ d) app.use("/admin/event/:id/sessions", function(request, response, next){ C正在调用请求GET /admin/event/1/sessions ,我的期望是D应该被调用。 请指教。

我试图保存经纬度mongoose模型,但我无法存储它们

这是我的mongoose模型 var mongoose = require('mongoose'), Schema = mongoose.Schema var DriverSchema = new mongoose.Schema({ carNumber : {type : String, required : true, unique : true}, DriverName : {type : String, required : true}, loc : { type: [Number], index:'2d' } }); 我试图从postman发布经纬度是: carNumber KA51B7499 DriverName Sachin longitude 74.9999 latitude 67.2563 我在下面的代码中将这个请求保存在mongoose中: router.post('/',function(req,res){ var Driver = new […]

如何依靠其他中间件快递?

在快速中间件中依赖其他中间件的最佳实践是什么? 假设我的中间件在执行之前依靠bodyParser。 有没有比在自述文件中明确告诉我的用户先包含并运行我的依赖关系更好的方法?

Express.js身体分析器中间件

对不起,标题不好; 我想不出一个简洁的方式来形容我的问题。 我有一个Express服务器,如下所示: var express = require('express'); var app = express(); var httpProxy = require('http-proxy'); var proxy = httpProxy.createProxyServer({}); // location (a) app.use(function(req, res){ proxy.web(req, res, { target: 'http://example.net' }); }); app.listen(5050, function(){ console.log("listening on port 5050") }); 我想要做的是检查请求主体,并根据内容,继续进行next()或处理请求。 就像是: // insert at location (a) app.use(function(req, res, next) { if (req.body.foo) { return next(); } […]

为什么bin / www命令不能在我的cloud9(c9)新的运行configuration中工作?

我正在跟随一个关于MEAN Stack开发的Lynda课程,当他们在“新运行configuration”中运行bin / www命令时,以及其产生的“侦听端口15454的debugging器” 而对于我来说,当我inputbin/www ,我得到以下错误: debugger listening on port 15454 module.js:340 throw err; ^ Error: Cannot find module '/home/ubuntu/workspace/bin/www' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.runMain [as _onTimeout] (module.js:497:10) at Timer.listOnTimeout [as ontimeout] (timers.js:112:15)