Articles of 表示

NodeJS和Express拦截器

我正在尝试编码一个拦截器metrologie的目的。 我的拦截器必须在任何http查询之前被调用(并且在Express执行之前)来放置一些时间信息,并且在Express的工作之后得到呼叫的持续时间。 我正在尝试使用中间件,对于“之前”调用而言工作正常,但对于“之后”调用不起作用,当find路由时,将停止通过其他中间件的传播。 请提供一些线索,让一些拦截器在所有情况下工作。 编辑: 我想要的是一种JavaScript的AOP实际上… “之前”拦截器中间件是: // JMC Add metrologie informations for all route called app.use(function (req, res, next) { var name = req.originalMethod + req.originalUrl; log.trace('Start MetroInfo for route : %s', name); metro.startMetrologie(name); return next(); }); 提前致谢。

Express.js ..通常的后端/托pipe是什么?

看expressjs网站,他们列出了许多使用Express.js的stream行网站 http://yummly.com http://new.myspace.com http://klout.com 等等。 但我很困惑这些“跑” ……… 我认为我可以find一些云服务,它提供了一个“Express.js”networking通信的整个堆栈 ,用我的信用卡支付,并开始学习代码Express.js。 但是,这似乎并不是这样,除非我失去了一些东西。 我 – 对于企业,比较大的网站(yummly,new.myspace等),这到底是什么? 什么东西像yummly“跑”? 我很欣赏这是Expressjs,但是什么是pipe道? ii – Express.jsnetworking电话实际上是什么“最常见”的堆栈? 你们每天都在用什么? iii – 我很惊讶没有一个着名的“cloud-express-stack.com” ,你只需input你的信用卡,你可以立即扩大到大量使用企业,我错过了什么或不理解? 我用googlesearch了一下,但是看起来这个领域太快了,很难跟上。 (例如,我立即了解到Express是完全过时的,我现在应该看“meteor”,例如:O) 作为卑微的移动开发人员,我们习惯于使用parse.com或其他平面后端 (bAAs,可以这样说)来做所有事情。 在parse.com帮助页面上说.. https://parse.com/docs/hosting_guide#webapp ..你可以使用parse + Expressjs来构build一个完整的networking。 但是也许你的专家知道这是废话和谎言? 什么是真实的情况? 谢谢!

翡翠中的variables,全局对象和console.log

我用快速框架创build了一个应用程序,它以玉为模板引擎。 在玩弄玉石的同时,我设定了一个简单的testing: 在Node中,我将一个对象传递给jade模板渲染res.render('index', { title: 'Express', docs:"is jade cool?"}); ,并在模板中,我试图调用这样的值: h1= title p Hi! p Welcome to #{title} p #{docs} – console.log(docs) script(type='text/javascript'). console.log(docs); 我发现我无法控制login全局对象值,如果我尝试#{docs} ,它会尝试将它parsing为一个字面命令,而不是它开始的string。 我也发现,我不能把它分配给一个JS var,像这样: var test = #{docs}; 。 有人可以解释: #{docs} , !{docs}和docs什么区别? (奇怪的是,所有三个例子都在文档中使用,但是没有一个是真正解释的。) 什么是正确的方式来控制login从节点传递给玉的全局对象属性和正确的方式来分配这些相同的属性本地JSvariables?

使用nodeemailer发送电子邮件时隐藏其他收件人地址

我正在使用node.js在EmailSender项目上工作。 我发现nodeemailer包真的让它更容易。 但是当我发送电子邮件给多个联系人,所有联系人都看到列中的其他联系人地址。 我想隐藏接收者的其他人。 这是接收者只能看到他的电子邮件地址。 我使用的代码是, var mailOptions = { from: 'sender@sender.com', // sender address to: 'reciever1@domain.com,reciever1@domain.com', // list of receivers subject: 'Hello', // Subject line text: 'Hello world', // plaintext body html: '<b>Hello world</b>' // html body }; transporter.sendMail(mailOptions, function(error, info) { if (error) { res.send(error); } else { res.send('Message sent: ' + res); […]

意味着堆栈authentication – 最佳实践

我试图找出build立一个最简单的authentication系统(基于user_name和密码)的最佳做法。 我search了最佳实践,并find了一些项目,虽然他们大多数都很老,许多东西都折旧了。 我想有一些最佳做法build议有最简单的login\注册系统使用angular-express-mongodb。

Passport.js总是返回500内部错误

我正在尝试使用passport.js构build一个非常简单的身份validationAPI,但是我的代码总是返回500内部错误状态。 var express = require('express'); var bodyParser = require('body-parser'); var cookieParser = require('cookie-parser'); var expressSession = require('express-session'); var logger = require('morgan'); var path = require('path'); var passport = require('passport'); var passportLocal = require('passport-local'); var app = express(); app.set('port', process.env.PORT || 3000); app.set('view engine', 'ejs'); app.use(logger('dev')); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(expressSession({ secret: process.env.SESSION_SECRET || 'secret', […]

在NodeJS ExpressJS中从req.body中删除一个variables

我收到很多信息的JSON,但我想要删除特定的数据,例如,如果我收到variables名称,我想删除此variables,然后添加我的数据库中的JSON。 这是我的functionPOST: app.post("/:coleccion", function (req, res, next) { POST if(req.body.name) // Here I need delete "name" if I receive this variable <—— req.collection.insert(req.body, {}, function (e, result) { if(e) return next(e); res.send(result); }); });

index.jade没有出现在本地主机上

我一直在关注使用node.js,express和jade构buildWeb应用程序和数据库的教程。 https://cozy.io/en/hack/getting-started/first-app.html 尽pipe布置一切都一样,我的index.jade不加载本地主机上。 浏览器terminal上没有错误提示。 我已经检查了我的环境variables已经设置好了,我已经把文件path改成了index.jade,但是没有任何区别,只是一个白屏。 在我的命令提示符下,服务器正在侦听,数据库已连接。 My environment folder is C:\foodshop and within this I have node_modules, index.jade, package.json, shopDB.db, simpleserver.js simpleserver.js包含以下内容 – // This is the server. var http = require('http'), express = require('express'), app = express(), sqlite3 = require('sqlite3').verbose(), db = new sqlite3.Database('shopDB.db', (function(err) { if (!err) { console.log("Database is connected … \n\n"); […]

Node.js Express导出组织的路由?

使用express.Router()来调用/从我们的应用程序的API调用: var express = require('express'); var app = express(); var router = express.Router(); 在每个API调用之前router.use console.use console.logs: router.use(function(req, res, next) { // run for any & all requests console.log("Connection to the API.."); // set up logging for every API call next(); // ..to the next routes from here.. }); 我们如何将我们的路线导出到folder/routes.js ,然后从我们目前所在的主app.js中访问它们: router.route('/This') // on routes for […]

上传空文件时无法读取未定义的属性

我使用Node.js(v0.10.25)和Express(4.13.1)并使用jade而不是HTML。 我有一个registry单,用户可以注册并上传profileimage。 所有工作正常,除非我上传一个空的图像,然后我得到以下错误: 无法读取未定义的属性“profileimage” APP.JS var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var session = require('express-session'); var methodOverride = require('method-override'); var passport = require('passport'); var LocalStrategy = require('passport-local').Strategy; var multer = require('multer'); var flash = require('connect-flash'); var expressValidator […]