Questions tagged «express»

Express是一个灵活的Node.js Web应用程序框架,为构建Web应用程序提供了一组强大的功能。

9
用express.js代理
为避免同域AJAX问题,我希望我的node.js Web服务器转发来自URL的所有请求 /api/BLABLA到另一个服务器,例如other_domain.com:3000/BLABLA,并透明地将与该远程服务器返回的相同的内容返回给用户。 所有其他网址(旁边 /api/*)均应直接提供,不能进行代理。 如何使用node.js + express.js实现此目的?您可以举一个简单的代码示例吗? (Web服务器和远程3000服务器都在我的控制之下,都运行带有express.js的node.js) 到目前为止,我已经找到了这个https://github.com/http-party/node-http-proxy,但是阅读那里的文档并没有使我更加明智。我最终以 var proxy = new httpProxy.RoutingProxy(); app.all("/api/*", function(req, res) { console.log("old request url " + req.url) req.url = '/' + req.url.split('/').slice(2).join('/'); // remove the '/api' part console.log("new request url " + req.url) proxy.proxyRequest(req, res, { host: "other_domain.com", port: 3000 }); }); …

18
将created_at和updated_at字段添加到猫鼬模式
有没有一种方法可以将created_at和updated_at字段添加到猫鼬模式,而不必每次调用新的MyModel()时都将其传递? created_at字段将是一个日期,并且仅在创建文档时添加。每当在文档上调用save()时,updated_at字段都将被更新为新日期。 我已经在模式中尝试过此操作,但是除非我明确添加,否则该字段不会显示: var ItemSchema = new Schema({ name : { type: String, required: true, trim: true } , created_at : { type: Date, required: true, default: Date.now } });



4
如何使用Express框架在Node JS中设置cookie?
在我的应用程序中,我需要使用express框架设置cookie。我已经尝试了以下代码,但未设置cookie。 谁能帮我做到这一点? var express = require('express'), http = require('http'); var app = express(); app.configure(function(){ app.use(express.cookieParser()); app.use(express.static(__dirname + '/public')); app.use(function (req, res) { var randomNumber=Math.random().toString(); randomNumber=randomNumber.substring(2,randomNumber.length); res.cookie('cokkieName',randomNumber, { maxAge: 900000, httpOnly: true }) console.log('cookie have created successfully'); }); }); var server = http.createServer(app); var io = require('socket.io').listen(server); server.listen(5555);
161 node.js  cookies  express 

11
如何指定HTTP错误代码?
我努力了: app.get('/', function(req, res, next) { var e = new Error('error message'); e.status = 400; next(e); }); 和: app.get('/', function(req, res, next) { res.statusCode = 400; var e = new Error('error message'); next(e); }); 但总是会显示错误代码500。

3
Express res.sendfile抛出禁止错误
我有以下代码: res.sendfile( '../../temp/index.html' ) 但是,它引发此错误: Error: Forbidden at SendStream.error (/Users/Oliver/Development/Personal/Reader/node_modules/express/node_modules/send/lib/send.js:145:16) at SendStream.pipe (/Users/Oliver/Development/Personal/Reader/node_modules/express/node_modules/send/lib/send.js:307:39) at ServerResponse.res.sendfile (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/response.js:339:8) at exports.boot (/Users/Oliver/Development/Personal/Reader/server/config/routes.js:18:9) at callbacks (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:161:37) at param (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:135:11) at pass (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:142:5) at Router._dispatch (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:170:5) at Object.router (/Users/Oliver/Development/Personal/Reader/node_modules/express/lib/router/index.js:33:10) at next (/Users/Oliver/Development/Personal/Reader/node_modules/express/node_modules/connect/lib/proto.js:199:15) 谁能告诉我为什么会这样吗?
160 node.js  express 

8
如何使用Express Req对象获取请求路径
我正在使用express + node.js,并且我有一个req对象,浏览器中的请求是/ account,但是当我登录req.path时,我得到的是'/'---不是'/ account'。 //auth required or redirect app.use('/account', function(req, res, next) { console.log(req.path); if ( !req.session.user ) { res.redirect('/login?ref='+req.path); } else { next(); } }); req.path是/何时应该是/ account?

6
Express 4.x中的“ ./bin/www”有什么作用?
我刚开始在Node.js应用程序中学习Express 4.0,我发现它生成了./bin/www文件,在该文件上只写了应用程序服务器和端口设置,其他文件(如中间件和路由)都在./app.js文件中定义。 但是,我不确定这./bin/www是做什么的。我使用Express 3.x,并且始终在同一./app.js文件中定义服务器和端口设置以及路由和中间件,并使用来启动我的节点应用程序node app.js。那么使用的意义./bin/www何在?它仅将服务器和端口定义与其他定义分开吗? 现在,当我使用express-generator创建包时,其中package.json包含以下定义: "scripts": { "start": "node ./bin/www" } 但是,我想知道是否应该使用node ./bin/www或启动我的应用程序npm start。我应该运行哪个命令来启动我的应用程序? 而且,当我将应用程序部署到heroku时,应该在Procfile文件中写些什么?是否web: node app.js足够?

25
npm找不到package.json
我正在尝试安装一些示例的依赖项:express 2.5.8我已经下载了npm ,但是所有应用程序都抛出相同的错误: c:\node\stylus>npm install -d npm info it worked if it ends with ok npm info using npm@1.1.1 npm info using node@v0.6.11 npm ERR! Couldn't read dependencies. npm ERR! Error: ENOENT, no such file or directory 'c:\node\stylus\package.json' npm ERR! You may report this log at: npm ERR! <http://github.com/isaacs/npm/issues> npm …
153 node.js  express  npm 


15
Node.js错误:找不到模块表达
我写了我的第一个node.js应用程序,但是找不到快速库: C:\ChatServer\Server>node server.js module.js:340 throw err; ^ Error: Cannot find module 'express' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (C:\ChatServer\Server\server.js:6:9) at Object.<anonymous> (C:\ChatServer\Server\server.js:25:4) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) 但是Express已安装(带有-g密钥): C:\ChatServer\Server>npm install -g express npm http GET …
145 node.js  express  npm 

18
NodeJS:如何获取服务器的端口?
您经常会看到Node的示例hello world代码,该代码创建Http Server,开始侦听端口,然后执行以下操作: console.log('Server is listening on port 8000'); 但理想情况下,您希望这样做: console.log('Server is listening on port ' + server.port); 如何在调用前不将服务器号存储在变量中的情况下检索服务器当前正在侦听的端口server.listen()? 我之前已经看过这件事,但是在Node文档中找不到。也许这是表达的特定内容?

6
MongoDB /猫鼬在特定日期查询?
是否可以查询特定日期? 我在mongo Cookbook中发现我们可以针对某个范围进行查询 ,例如: db.posts.find({"created_on": {"$gte": start, "$lt": end}}) 但是可能有特定的日期吗?这不起作用: db.posts.find({"created_on": new Date(2012, 7, 14) })


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.