Questions tagged «express»

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

8
bodyParser弃用Express 4
我正在使用Express 4.0,并且我知道主体解析器已从Express核心中移除,我正在使用推荐的替代产品,但是我得到了 body-parser deprecated bodyParser: use individual json/urlencoded middlewares server.js:15:12 body-parser deprecated urlencoded: explicitly specify "extended: true" for extended parsing node_modules/body-parser/index.js:74:29 我在哪里可以找到这个所谓的中间件?还是我不应该得到这个错误? var express = require('express'); var server = express(); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var passport = require('./config/passport'); var routes = require('./routes'); mongoose.connect('mongodb://localhost/myapp', function(err) { if(err) …



2
了解护照序列化反序列化
您如何向外行解释Passport的序列化和反序列化方法的工作流程。 叫到哪里user.id去passport.serializeUser了? 我们passport.deserializeUser紧接着在工作流程中调用它吗? // used to serialize the user for the session passport.serializeUser(function(user, done) { done(null, user.id); // where is this user.id going? Are we supposed to access this anywhere? }); // used to deserialize the user passport.deserializeUser(function(id, done) { User.findById(id, function(err, user) { done(err, user); }); }); 我仍在努力寻找解决方案。我有一个完整的工作应用程序,没有遇到任何类型的错误。 我只是想了解这里到底发生了什么? …


8
从module.exports中的另一个函数调用module.exports中的“本地”函数?
如何在module.exports声明中的另一个函数中调用一个函数? app.js var bla = require('./bla.js'); console.log(bla.bar()); bla.js module.exports = { foo: function (req, res, next) { return ('foo'); }, bar: function(req, res, next) { this.foo(); } } 我正在尝试foo从函数内部访问该函数bar,并且得到: TypeError:对象#没有方法'foo' 如果我更改this.foo()为仅foo()得到: ReferenceError:未定义foo
326 node.js  express 

6
节点上的客户端:未捕获ReferenceError:需求未定义
因此,我正在使用node / express + jade组合编写应用程序。 我有client.js,已在客户端上加载。在该文件中,我有调用其他JavaScript文件中的函数的代码。我的尝试是使用 var m = require('./messages'); 为了加载内容messages.js(就像我在服务器端一样),然后再加载该文件的调用函数。但是,require未在客户端定义,并且引发形式的错误Uncaught ReferenceError: require is not defined。 这些其他JS文件也会在运行时在客户端上加载,因为我将链接放在网页的标题上。因此,客户端知道从这些其他文件导出的所有功能。 如何从打开服务器套接字messages.js的主client.js文件中的其他JS文件(如)调用这些函数?

6
使用Express从NodeJS Server下载文件
如何将服务器中的文件下载到访问nodeJS服务器中页面的计算机上? 我正在使用ExpressJS,并且一直在尝试这样做: app.get('/download', function(req, res){ var file = fs.readFileSync(__dirname + '/upload-folder/dramaticpenguin.MOV', 'binary'); res.setHeader('Content-Length', file.length); res.write(file, 'binary'); res.end(); }); 但是我无法获取文件名和文件类型(或扩展名)。有人可以帮我吗?

15
Express-js无法获取我的静态文件,为什么?
我将代码简化为我可以做的最简单的express-js应用程序: var express = require("express"), app = express.createServer(); app.use(express.static(__dirname + '/styles')); app.listen(3001); 我的目录如下所示: static_file.js /styles default.css 但是,当我访问时http://localhost:3001/styles/default.css,出现以下错误: Cannot GET / styles / default.css 我正在使用express 2.3.3和node 0.4.7。我究竟做错了什么?
308 node.js  express 

6
如何在Express应用程序中使用JSON POST数据
我正在将以下JSON字符串发送到我的服务器。 ( { 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'); }); }); 当我发送字符串时,它表明我得到了200的响应,但是其他两种方法从未运行。这是为什么?
307 json  node.js  express 

3
Node.js / Express.js-app.router如何工作?
在询问之前,app.router我认为至少应该解释一下使用中间件时发生的事情。要使用中间件,要使用的功能是app.use()。当执行中间件时,它将使用next()或使其调用下一个中间件,从而不再调用任何中间件。这意味着我放置中间件调用的顺序很重要,因为某些中间件依赖于其他中间件,而接近末尾的某些中间件甚至可能不会被调用。 今天,我正在开发应用程序,并在后台运行服务器。我想进行一些更改并刷新页面,然后立即查看更改。具体来说,我正在更改布局。我无法使它正常工作,所以我在Stack Overflow中搜索了答案,并找到了这个问题。它说要确保它express.static()在下面require('stylus')。但是,当我查看该OP的代码时,我发现他app.router在中间件调用的最后就接到了他的电话,而我试图弄清楚为什么会这样。 当我制作Express.js应用程序(版本3.0.0rc4)时,我使用了命令,express app --sessions --css stylus并且在我的app.js文件中,app.router在express.static()和require('stylus')调用上方都设置了代码。如此看来,如果它已经以这种方式设置,那么它应该保持这种方式。 重新排列代码以便可以看到手写笔更改之后,它看起来像这样: app.configure(function(){ //app.set() calls //app.use() calls //... app.use(app.router); app.use(require('stylus').middleware(__dirname + '/public')); app.use(express.static(__dirname + '/public', {maxAge: 31557600000})); }); app.get('/', routes.index); app.get('/test', function(req, res){ res.send('Test'); }); 因此,我决定第一步就是要弄清楚为什么甚至app.router在我的代码中也很重要。因此我将其注释掉,启动了我的应用程序并导航至/。它显示我的索引页面就好了。嗯,也许是可行的,因为我正在从路由文件(routes.index)中导出路由。因此,接下来我导航到/test它,并在屏幕上显示Test。哈哈,好吧,我不知道该怎么办app.router。无论它是否包含在我的代码中,我的路由都可以。因此,我肯定会缺少一些东西。 所以这是我的问题: 有人可以解释一下app.router它的功能,重要性以及在中间件调用中的位置吗?如果得到有关的简要说明,那也很好express.static()。据我所知,express.static()是我的信息的缓存,如果应用程序找不到请求的页面,它将检查缓存以查看其是否存在。

6
Express中使用的“ next”参数是什么?
假设您有一个简单的代码块,如下所示: app.get('/', function(req, res){ res.send('Hello World'); }); 此函数有两个参数req和res,分别代表请求和响应对象。 另一方面,其他函数的第三个参数称为next。例如,让我们看下面的代码: app.get('/users/:id?', function(req, res, next){ // Why do we need next? var id = req.params.id; if (id) { // do something } else { next(); // What is this doing? } }); 我不明白这next()是什么意思或为什么要使用它。在该示例中,如果id不存在,那么next实际上在做什么?
295 node.js  express 


30
Express.js req.body未定义
我将其作为Express服务器的配置 app.use(app.router); app.use(express.cookieParser()); app.use(express.session({ secret: "keyboard cat" })); app.set('view engine', 'ejs'); app.set("view options", { layout: true }); //Handles post requests app.use(express.bodyParser()); //Handles put requests app.use(express.methodOverride()); 但是当我req.body.something在路线上询问时,仍然会指出一些错误body is undefined。这是使用的路线的示例req.body: app.post('/admin', function(req, res){ console.log(req.body.name); }); 我读到这个问题是由于缺少引起的,app.use(express.bodyParser());但是如您所见,我在路由之前将其称为。 有什么线索吗?
291 node.js  express 

4
如何在Express中获取URL参数?
我在tagid从URL:获取值方面遇到问题localhost:8888/p?tagid=1234。 帮助我更正我的控制器代码。我无法获得tagid价值。 我的代码如下: app.js: var express = require('express'), http = require('http'), path = require('path'); var app = express(); var controller = require('./controller')({ app: app }); // all environments app.configure(function() { app.set('port', process.env.PORT || 8888); app.use(express.json()); app.use(express.urlencoded()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); app.set('view engine', 'jade'); app.set('views', __dirname + '/views'); app.use(app.router); app.get('/', function(req, …

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.