我有一个路线映射为: app.get('/health/*', function(req, res){ res.send('1'); }); 如何在运行时删除/重新映射这个路由到一个空的处理程序?
当我使用Express时,我的代码是: app.use(express.bodyParser()); 我将如何获得原始请求的身体 ?
我正在使用express来在node.js中创build一个web应用程序。 这是我所拥有的简化: var express = require('express'); var jade = require('jade'); var http = require("http"); var app = express(); var server = http.createServer(app); app.get('/', function(req, res) { // Prepare the context res.render('home.jade', context); }); app.post('/category', function(req, res) { // Process the data received in req.body res.redirect('/'); }); 我的问题是以下几点: 如果我发现在/category中发送的数据不validation,我想传递一些额外的上下文到/页面。 我怎么能这样做? redirect似乎不允许任何一种额外的参数。
在我的NodeJS express应用程序中,我有app.js有一些常见的路线。 然后在一个wf.js文件中,我想定义一些更多的路线。 我如何获得app.js来识别wf.js文件中定义的其他路由处理程序? 一个简单的要求似乎并没有工作。
我在IIS中有以下设置: 默认网站(www.foo.com)托pipe标准的html网站 运行IIS节点的默认网站(www.foo.com/bar)下的Web应用程序 节点项目正在使用快递 我不能为了我的生活得到这个东西configuration正确,所以当我打networking应用程序正确地提供节点应用程序。 我认为我的问题在于web.config。 任何人都可以帮我写一个正确的web.config来正确地工作? 我的configuration的当前版本将服务于我的节点响应,说它无法获取我input的任何url的资源。 这是我的configuration的当前版本: <configuration> <system.webServer> <handlers> <add name="iisnode" path="app.js" verb="*" modules="iisnode" /> </handlers> <rewrite> <rules> <rule name="bar"> <match url="bar/*" /> <action type="Rewrite" url="app.js" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
我正在使用NodeJS的ExpressJS Web框架。 使用ExpressJS的人把他们的环境(开发,生产,testing…),他们的路线等放在app.js 。 我认为这不是一个美丽的方式,因为当你有一个大的应用程序,app.js太大了! 我想要有这个目录结构: | my-application | — app.js | — config/ | — environment.js | — routes.js 这是我的代码: app.js var express = require('express'); var app = module.exports = express.createServer(); require('./config/environment.js')(app, express); require('./config/routes.js')(app); app.listen(3000); configuration/ environment.js module.exports = function(app, express){ app.configure(function() { app.use(express.logger()); }); app.configure('development', function() { app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); […]
所以这里是交易:我试图在一个快速项目中使用socket.io。 在Express Js 4发布后,我更新了我的快速生成器,现在应用程序的初始function进入./bin/www文件,包括那些variables(www文件内容: http : //jsfiddle.net/avMa5/ ) var server = app.listen(app.get('port'), function() {..} (通过npm install -g express-generator检查它,然后express myApp 就这么说吧,让我们回忆一下socket.io文档是如何要求我们解雇的: var app = require('express').createServer(); var io = require('socket.io')(app); 好吧,但我不能在app.js里面做,就像推荐一样。 这应该在./bin/www中完成才能工作。 在./bin/www这是我能做些什么来得到它的工作: var io = require('socket.io')(server) 确定这个工程,但我不能在任何地方使用io var,我真的不想把我的socket.io函数在www文件。 我想这只是基本的语法,但我不能得到这个工作,甚至没有使用module.exports = server或server.exports = server也没有module.exports.io = app(io)上的WWW文件 所以问题是:我如何使用socket.io这个/ bin / www文件作为我的应用程序的起点?
我发送以下JSONstring到我的服务器。 ( { id = 1; name = foo; }, { id = 2; name = bar; } ) 在服务器上,我有这个。 app.post('/', function(request, response) { console.log("Got response: " + response.statusCode); response.on('data', function(chunk) { queryResponse+=chunk; console.log('data'); }); response.on('end', function(){ console.log('end'); }); }); 当我发送string,它显示我得到了一个200响应,但其他两个方法永远不会运行。 这是为什么?
我想为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 /然后导致请求到web_server/index.html/index.html (double index.html组件),这当然会失败。 有任何想法吗? 顺便说一下,我可以find关于这个主题( static() +它的参数)Express中绝对没有文档…令人沮丧。 文档链接也是受欢迎的。
总节点noob在这里。 我一直在尝试设置一个示例节点应用程序,但每次尝试运行时都会popup以下错误消息: 节点应用程序 Failed to load c++ bson extension, using pure JS version events.js:72 throw er; // Unhandled 'error' event ^ Error: failed to connect to [#$%67890 :27017] at null.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:553:74) at EventEmitter.emit (events.js:106:17) at null.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:140:15) at EventEmitter.emit (events.js:98:17) at Socket.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:512:10) at Socket.EventEmitter.emit (events.js:95:17) at net.js:830:16 at process._tickCallback (node.js:415:13)