Tag: 表示

在Express JS中使用Multer在扩展的基础上过滤文件

如问题标题所解释的,我需要根据文件扩展名来过滤上传的文件。 于是,我浏览了官方文档并search了这个网站。 我所试过的 我尝试过遇到的解决scheme。 文件正在成功上传,但问题是如何过滤文件。 目前我的Router.js文件看起来像这样。 Router.JS var multer = require('multer'); var storage = multer.diskStorage({ //multers disk storage settings destination: function (req, file, cb) { cb(null, './public/uploads/') }, limits:{ files: 1, fileSize: 1024 * 1024 }, filename: function (req, file, cb) { var datetimestamp = Date.now(); cb(null, file.fieldname + '-' + datetimestamp + '.' + […]

NodeJS – 护照给我404login错误

我刚刚实现了一个简单的login使用Passport.js和护照本地和一切似乎工作,除了最后的redirect。 当我用不好的证书login时,我得到一个错误,因为它应该发生。 但是,当我用正确的凭据login,我得到一个404错误没有明显的原因。 源代码太广泛了,所以你可以在GitHub上find它们: https : //github.com/JacobCZ/nodewiki (看看config / express,config / passport,models / user和views / auth)

在快速中间件中提供自定义参数

我有我的Node.js应用程序的问题。 总之,我想将自定义parameter passing到我的中间件function,而不仅仅是req , res和next 。 中间件文件: var DB = require('./DB.js'); function requirePermissions(e) { console.log('nope') } module.exports = requirePermissions; 路线: router.post('/posts', requirePermissions('post_creation'), function(req, res) { var o = req.body, title = o.post.title, content = o.post.content; res.send('made it'); }); 我已经确认使用函数requirePermissions(req, res, next) {}将工作,但我不明白如何包含我自己的参数。

Nodejs仍然路由到MongoDB中的删除条目

我用下面的代码删除mongodb中的一个条目 router.delete('/:id', function(req, res) { Student.findByIdAndRemove(req.params.id, function(err, student) { if(err) { console.log(err); return res.redirect('/students/' + req.params.id); } console.log('Deleted student.'); console.log(student); res.redirect('/students'); }); }); 删除通过,因为我不再在数据库中看到它; 然而,如果我访问旧的页面/学生/:ID它通过而不是redirect回来,我收到一个错误,因为我试图在空对象上使用方法。 router.get('/:id', function(req, res) { Student.findById(req.params.id, function(err, foundStudent) { if(err) { console.log(err); return res.redirect('/students'); } res.render('pages/students/show', { student : foundStudent }); }); }); 我怎样才能知道该ID不再存在?

快线不回来

可能是一个愚蠢的错误,但我不明白为什么我没有得到一个GET请求的响应。 这是我的服务器文件位于根目录的一部分: //server.js … var serverRoutes = require('./server/routes'); app.use('/server', serverRoutes); … 和我的路线文件: //server/routes/index.js var express = require('express'); var router = express.Router(); module.exports = function() { router.get('/test', function(req, res, next){ console.log("HIT"); res.status(200).send("OK"); }); return router; } 每次我浏览到我的浏览器/server/test它只是停滞不前。 terminal上没有任何logging,浏览器中没有收到“OK”响应 – 我错过了什么?

静态资产不在Heroku上,但在本地?

我有一个nodeJS + expressJS + Angular2-RC.5的网站,在我的本地Windows 10机器上正常工作。 但是,当我尝试部署( 这里的日志)到Heroku并访问该网站时,前端控制台(Chrome)抛出以下错误,并且不加载站点。 RXJs似乎没有在Heroku上提供一些问题? zone.js:101 GET https://ns-docs.herokuapp.com/node_modules/rxjs/RX.js 404(Not Found) 我的systemjs.config.js包含这个: (function(global) { // map tells the System loader where to look for things var map = { 'app': '/app', // 'dist', '@angular': '/node_modules/@angular', 'angular2-in-memory-web-api': '/node_modules/angular2-in-memory-web-api', 'rxjs': '/node_modules/rxjs' }; // packages tells the System loader how to load when no filename […]

错误:没有默认帐户存储映射到指定的应用程序

我按照这里的文档: https : //github.com/stormpath/express-stormpath 错误:没有默认帐户存储映射到指定的应用程序 当我尝试运行我的应用程序时,在控制台中出现上述错误。 这很可能是我的代码的问题,或者我应该去Stormpath网站上的pipe理页面? 我用Windows命令setx设置环境variables,不知道如果我需要这样做,如果我的API密钥和秘密在我的app.js文件。 我为这个问题删除了XXXXXXXX的敏感信息。 var express = require('express'); var app = express(); //Stormpath var stormpath = require('express-stormpath'); //Init Stormpath app.use(stormpath.init(app, { apiKey: {id:'XXXXXXXXXX', secret: 'XXXXXXXXXX'}, secretKey: 'random_string_of_words_go_here', application: 'https://api.stormpath.com/v1/accounts/XXXXXXXXX' })); //home: app.get('/', function(req, res){ res.render('home'); console.log(req.session); }); app.get('/create-quiz', stormpath.loginRequired, function(req, res){ res.render('createQuiz'); }); //404 page: app.use(function(req, res, next){ res.status(404); res.render('404'); […]

app.set然后TypeError:app.get不是一个函数

当使用快递4.x时,我在我的server.js中设置端口,如下所示。 var express = require('express'); var app = express(); … var port = process.env.PORT || 8080; app.set('port', port); … module.exports = app; 但是,当我尝试访问它在我的路线文件,如下所示… // path to routes file is app/models, hence the '../../' var app = require('../../server'); // default route router.get('/', function (req, res) { res.send('Hello! The API is at http://localhost:' + app.get('port') + '/api'); […]

嵌套的GET请求Nodejs Expressjs

我的代码有问题。 我想使用Nodejs和Expressjs创build一个嵌套的GET请求,我使用GET reuqest如: http://localhost/zigbee/zi?name='Hello' http://localhost/zigbee/zs?name='Hello' 可以创build一个主路由/zigbee/ e和2个子路由/zi/ /zs/ ? 我认为这样的实现: app.get('/zigbee/',function(req,res){ … app.get('/zi',function(req,res){ … app.get('/zs',function(req,res){ … }}} 有可能吗? 感谢所有

在node express中传递一个对象到nunjucks模板

我将Express中的对象传递给一个Nunjucks模板 app.get('/purchase', function (req, res) { purchase_data = JSON.stringify(req.query); res.render('purchase', {"purchase": purchase_data}); }) ———————— <ul> {% for key,value in purchase %} <li>{{key}} | {{value}}</li> {% endfor %} </ul> 输出字面上是value属性的每个字母。 例如:{“quantity”:“1”}变成0 | {1 | “2 | q 3 | u 4 | a 5 | n 6 | t 7 | i 8 | t 9 […]