Articles of expression

Node.js body-parser将不会使用json中的方括号来分析input名称

Node.js中的Express bodyparsing器有问题 我有这样的input: <input id="personEmail1" type="email" name="person[0][email]" placeholder="Email1" class="form-control"> <input id="personEmail2" type="email" name="person[1][email]" placeholder="Email2" class="form-control"> 当我提交我的表单后,我在我的console.log中得到了这个: { 'person[0][email]': 'info@sss.sss', 'person[1][email]': 'info@ggg.ggg' } 但我希望它被parsing为json格式: { person: [{email: 'info@sss.sss'}, {email: 'info@ggg.ggg'}] } 我做错了什么?

JS正则expression式来分割string基于字符前面没有反斜杠

我想使用JSstringsplitfunction来分割这个string只基于逗号,而不是前面加反斜杠/, ,。 我怎样才能做到这一点? 'this,is\,a,\,string'.split(/,/) 这段代码将其分割到所有的string上,我不知道如何让它在没有反斜杠之前的逗号分割。

如何调整while循环中的variables作用域以匹配CoffeeScript中的所有正则expression式?

我在coffeescript循环中遇到了一些麻烦。 原来的function如下, 来源是这个答案 : // Return all pattern matches with captured groups RegExp.prototype.execAll = function(string) { var match = null; var matches = new Array(); while (match = this.exec(string)) { var matchArray = []; for (i in match) { if (parseInt(i) == i) { matchArray.push(match[i]); } } matches.push(matchArray); } return matches; } 它按预期工作。 我已经通过js2coffee转换它,咖啡脚本是: # […]

如何在静态JavaScript中embeddedEJS代码?

我正在使用Nodejs和ExpressJS。 我有一个HTML页面,其中有一个JavaScript文件被引用。 <script type="text/javascript" src="../javascripts/game.js"></script> 我没有将所有的JavascriptembeddedHTML页面本身,因为它太大了。 现在我需要我的Javascript(game.js)来访问控制器传递的一些variables。 我想要做这样的事情 – var max_players = parseInt("<%= table.total_players %>"); console.log("<%= table.name %>") 我正在渲染页面时传递表variables。 exports.index = function(req,res){ //code res.render('mytable', {table: table }); }; 但是,这显然不工作,因为JS文件被呈现为一个静态文件。 如果我需要使这些variables可以被Javascript访问,我该如何去做? 我从某个地方读到,可以通过将Game.js重命名为Game.ejs来实现。 但是我在哪里把Game.js文件(以便它的呈现正确和dynamic?) 如果还有其他方法可以达到这个目的,请告诉我。

ExpressJS – 用于匹配path的正则expression式不起作用

我有一个简单的正则expression式,应该只匹配由字母(0-5)组成的单词,但它似乎并不工作。 正则expression式应该如何在ExpressJS中使用? 我想validation的URL可能看起来像something.com/abcd var express = require("express"), app = express(); app.get("/:id(^[az]{0,5}$)", function(req, res) { res.send("The right path!"); }); app.listen(8000);

mognoose用多列正则expression式search

我有一个模式定义为mongoose模型 – var campusNotesSchema = mongoose.Schema({ noteId:{type:String, unique:true, default: uuid.v4()}, title: {type:String, required:'{PATH} is required!'}, uploader:{type:String,required:'{PATH} is required!'}, department:{type:String}, college:{type:String}, author:{type:String,required:'{PATH} is required!'}, actualFileName: [String], storedFileName: [String], subject: {type:String}, description: {type:String}, details: {type:String}, date: {type:Date, default: Date}, tags: [String] }); 和模型定义为 – var Campusnotes = mongoose.model('Campusnotes', campusNotesSchema); 现在我想在标题,标签,描述字段中search请求对象的参数 if(req.query.searchText){ Campusnotes.find({title:new RegExp(searchText,'i'),description:new RegExp(searchText,'i')}).exec(function(err, collection) { res.send(collection); […]

JS正则expression式,基本的向前看

我无法弄清楚,对于我的生活,为什么这个正则expression式 ^\.(?=a)$ 不匹配 ".a" 有谁知道为什么? 我要去了这里提供的信息: https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

摆脱会话和套接字池sailsjs

嗨,我目前正在使用风帆restAPI应用程序工作。 我正在阅读以下文章http://engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile 在第二点,有人build议摆脱套接字池 var http = require('http'); var options = {…..}; options.agent = false; var req = http.request(options) 在第7点,它build议通过删除摆脱会议。 app.use(express.session({ secret: "keyboard cat" })); 我想知道如何在帆中做到这一点。

node.js express-session是无状态的还是有状态的?

我实际上正在使用快速会话,我有一个问题:是node.js,还是更特殊的快速会话无状态或有状态? 实际上,当我们需要使用会话和节点时,我们使用req.session.foo,这意味着我们使用请求来获取会话 。 那么,服务器上是否存储了任何东西? 在这种情况下,为什么我们不能像在PHP中一样使用“全局variables”来访问值? 在另一种情况下,这意味着我们有一个无状态的服务器,并且sessionID值是否对应于令牌密钥? 你能帮我理解这个中间件吗? 感谢提前

如何unit testing一个节点js express应用程序

我想开始在我的节点快递项目上进行unit testing。 什么是最简单和最简单的方法来做到这一点?