Articles of expression

如何让node.js返回没有文件扩展名的页面?

现在,任何静态html将得到服务器(about.html,work.html等)使用 app.use express.static("#{__dirname}/app") 我如何告诉它只用“about”返回相同的文件?

ExpressJS路线中的RegEx

在ExpressJS中,如何使用RegEx在一条path中纠正以下内容? app.get('/blog', blog.list); app.get('/blog/p/:page?', blog.list);

Node.js中的Spoof Origin头文件

我有一个运行express.js服务器。 我试图为它写几个testing,以确认未来的其他人可以在其上工作的标准行为。 服务器专门处理请求的标题,引用者和来源字段。 使用JQuery的ajax方法,我能够发送一个Ajax请求到服务器。 我发现我能够设置引荐领域。 但是,我似乎无法确定原点。 有没有什么办法来欺骗node.js的起源? 编辑:为了澄清,我不是通过浏览器运行此代码,而是从命令行。 通常情况下,ajax调用将从网页运行,但由于我正在编写从Mocha运行的testing,因此不会设置原点。

Node.js Express呈现多个后续视图

我想做一些事情: //client -> notifies server that client is connected. //server -> begins fetching information from DB (series of both async and synchronous requests). //as sets of data become available on server -> server pushes updates to client via res.render() 基本上我有一个客户端上的菜单项,我想要更新该菜单作为服务器提取准备好的数据。 有没有办法做到这一点? 我注意到我做不到 res.render('something'); // again res.render('somethingElse'); 因为一旦渲染被调用,那么响应被发送,并且渲染不能被再次调用 “错误:发送后无法设置标题。” 有什么build议么?

在nodejs中不要replace自封闭的br或img标签

问题与closures所有HTML未closures的IMG标签相同 ,但提供的正则expression式(<img[^>]+)(?<!/)>需要向后看支持 – 哪个nodejs没有。 我怎样才能在nodejs中获得相同的结果? 源HTML由另一个应用程序生成。

MongoDB Like Query(开始字母或单词查找查询)

我有一个MongoDB查询如下所述: Mailbox.find({ subject: new RegExp(query , 'i') }); 这个查询为我提供了包含查询的所有结果。例如,我的查询是test,然后输出显示包含'test'的所有结果。 如果我想要只有起始字母“t”或“testing”的结果,怎么办?

Morgan Logger与Express.js只logging失败的请求

我使用Morgan和Express.js,我认为我的中间件有问题,因为Morgan只logging返回错误302(redirect)的请求,当我的中间件发现错误并redirect到错误页面时发生。 我对Express.js是一个全新的中间件爵士乐,所以我非常感谢任何帮助。 谢谢! var http = require('http') , express = require('express') , app = express() , logger = require('morgan'); app.use(express.static(__dirname + '/public')); app.use(logger()); var server = http.createServer(app); server.listen(8888); // Handle 404 app.use(function(req, res) { res.status(404).redirect('/error/404.html'); }); // Handle 500 app.use(function(error, req, res, next) { res.status(500).redirect('/error/500.html'); });

Sails.js滚动会话

滚动会话是在没有用户活动(不包括实时更新数据的websockets)的情况下在一定时间内到期的会话。 如果用户在到期之前访问该网站的另一部分,则应该延长到期日。 我将如何与Sails.js做到这一点? 在/config/session.js cookie下设置maxAge和expires不会产生所需的效果。 到期不会延长与另一个页面加载。 它保持不变。 编辑:一旦Sails.js升级其Express版本,这会解决吗? 我看到https://github.com/expressjs/session有一个rolling选项。 编辑2:我看到这个答案: 尽pipe活动ExpressJS会话过期我需要复制和粘贴 req.session._garbage = Date(); req.session.touch(); 到控制器的每条路线上? 有没有更好的办法?

续集给出错误的表名

我有一个数据库。 我有一个“ user ”表 我正在尝试使用sequelize创build我的第一个REST api 然而,当它执行我的查询,我在控制台中得到以下内容: SELECT `id`, `username`, `password`, `name`, `organization_id`, `type_id`, `join_date` FROM `users` AS `user` WHERE `user`.`id` = '1'; 正如你所看到的,它试图使用一个名为users的表,但是这个表不存在。 这是我的一些代码: 请告诉我,如果你需要更多我不确定哪里出错了? :S var User = sequelize.define('user', { id: DataTypes.INTEGER, username: DataTypes.STRING, password: DataTypes.STRING, name: DataTypes.STRING, organization_id: DataTypes.INTEGER, type_id: DataTypes.INTEGER, join_date: DataTypes.STRING }, { instanceMethods: { retrieveAll: function(onSuccess, onError) { User.findAll({}, […]

接收wav文件并将其写入Node / Express Server上的磁盘

我使用以下方式将audio文件发送到Node / Express服务器: curl -X POST -H "Content-Type: audio/wav" –data-binary @"hello.wav" http://127.0.0.1:3000/extract_indicators/audio/darksigma 我正在使用下面的代码: … app.use(bodyParser.raw({ type: 'audio/wav', limit: '50mb' })); … app.post('/extract_indicators/audio/:user_id', function (req, res) { console.log("RECIEVED AUDIO TO EXTRACT INDICATORS: ", req.body); var writeStream = fs.createWriteStream('sample.wav'); req.pipe(writeStream); res.sendStatus(200); }); 但sample.wav文件最终是空的。 有任何想法吗?