Articles of expression

Node.js / express:立即响应客户端请求并在nextTick中继续执行任务

我想将服务器高消耗CPU任务与用户体验分开: ./main.js: var express = require('express'); var Test = require('./resources/test'); var http = require('http'); var main = express(); main.set('port', process.env.PORT || 3000); main.set('views', __dirname + '/views'); main.use(express.logger('dev')); main.use(express.bodyParser()); main.use(main.router); main.get('/resources/test/async', Test.testAsync); main.configure('development', function() { main.use(express.errorHandler()); }); http.createServer(main).listen(main.get('port'), function(){ console.log('Express server app listening on port ' + main.get('port')); }); ./resources/test.js: function Test() {} module.exports = Test; […]

玉模板引擎:HTML美化?

我在Node.js上使用ExpressJS的玉石模板引擎。 它用单行输出一个html。 根本没有缩进。 我找不到任何美化的选项。

sequelize .create不是函数错误

我得到Unhandled rejection TypeError: feed.create is not a function错误,我不明白为什么会发生。 这里有什么问题? 这是我的代码。 由于我无法在routes / index.js中访问feedvariables,因此我可能不会在这里做一些非常基础的工作。 如果我添加module.exports = feed; 到我的模型文件,我可以达到它,但我有多个模型,所以如果我添加额外的模型饲料,他们覆盖它。 db.js var Sequelize = require('sequelize'); var sequelize = new Sequelize('mydatabase', 'root', 'root', { host: 'localhost', dialect: 'mysql', port: 8889, pool: { max: 5, min: 0, idle: 10000 }, define: { timestamps: false } }); var db = {}; […]

express + jade:提供的局部variables在视图中是未定义的(node.js + express + jade)

我正在使用node.js实现一个webapp,并使用jade模板引擎来expression。 模板渲染良好,可以访问帮助器和dynamic帮助器,但除了由“express”提供的“body”局部variables以外,局部variables不在我的layout.jade中可用和定义的位置。 这是一些代码: app.set ('view engine', 'jade'); app.get ("/test", function (req, res) { res.render ('test', { locals: { name: "jake" } }); }); 这是test.jade: p hello =name 当我删除第二行(引用名称),模板呈现正确,在网页中显示单词“你好”。 当我包含= name时,会抛出一个ReferenceError: 500 ReferenceError: Jade:2 NaN. 'p hello' NaN. '=name' name is not defined NaN. 'p hello' NaN. '=name' 我相信我会跟随玉石,并且就局部variables而言精确地expression例子。 我做错了什么,或者这可能是快递或玉器的错误?

使用process.on('uncaughtException显示一个500错误页面

我正在开发一个快速应用程序。 我目前在我的server.js中有以下内容 process.on('uncaughtException', function (err) { console.log( "UNCAUGHT EXCEPTION " ); console.log( "[Inside 'uncaughtException' event] " + err.stack || err.message ); }); 每当出现错误时停止服务器崩溃,但是,它只是坐在那里… 有可能取代console.log,发送一个500错误页面的错误细节?

Firebase和Express之间的核心区别是什么?

现在我正在探索如何使用Express和MongoDB编写API。 我也使用Angular做我的路线和意见。 我知道Firebase和AngularFire可以做到这一点,所以我可以绕过使用Express(或所以我认为),并让我的应用程序是实时的。 在Chris Esplin的这篇文章中,他表示他不能放弃Express,因为在使用他的npm包的“Quiver-Invoice”(包含Firebase,Stripe和MailChimp的Mandrill服务)时,他需要它来编写promise,而不是使用更简洁的代码。 在这个SOpost里 ,海报说他们需要使用Express&Node来发送电子邮件。 我认为这是不可能的,如果只使用Firebase与Angular。 另外我也看到人们在这里讨论身份validation和安全性差异方面的差异https://groups.google.com/forum/#!topic/firebase-talk/WF9gf–A3Qo 问题(S) 那么Firebase和Express之间的核心区别是什么? 是否有可能像我可以在Express + MongoDB中那样围绕Firebase构build一个API? 是否有可能(或很快就可以)像使用Express一样自定义Firebase服务器?

通过NodeJS和Express检索MySQL查询的所有内容到Jade模板引擎

简单的新手问题,我开始与nodejs,一般来说,我是后端语言的新手。 我设法使用express-js中的默认jade引擎将一个字段从数据库发布到网页。 /** * Module dependencies. */ var express = require('express'); var app = module.exports = express.createServer(); var sqlResult; //MySql var mysqlClient = require('mysql').Client, newClient = new mysqlClient(), Database = 'test', Table = 'test_table'; newClient.user ='root'; newClient.password='password'; newClient.connect(console.log('connected to the database.')); newClient.query('USE '+Database); newClient.query( 'SELECT * FROM '+Table, function selectCb(err, results, fields) { if (err) […]

string.replace不能在node.js express服务器上工作

我需要阅读一个文件,并用该dynamic内容replace该文件中的一些文本。当我尝试string.replace它不工作的数据,我从文件读取。但string它正在working.I使用节点。 js和快递。 fs.readFile('test.html', function read(err, data) { if (err) { console.log(err); } else { var msg = data.toString(); msg.replace("%name%", "myname"); msg.replace(/%email%/gi, 'example@gmail.com'); temp = "Hello %NAME%, would you like some %DRINK%?"; temp = temp.replace(/%NAME%/gi,"Myname"); temp = temp.replace("%DRINK%","tea"); console.log("temp: "+temp); console.log("msg: "+msg); } }); 输出: temp: Hello Myname, would you like some tea? msg: Hello %NAME%, […]

在Node.js上上传二进制文件

我正在使用Flashloggingaudio并将其上传到节点服务器。 Flash客户端是jrecorder的变体。 当用户完成录制时,使用POST请求(不是表单,因为Flash不能创build文件)使用audioByteArray作为POST请求的数据(请参阅此处更多信息 )上传audio。 我能够使用下面的代码在Node-land上正确接收文件,但是出来的audio被破坏,你什么都听不到。 这样说,文件的内容可以播放VLC和其他播放器+ Sox能够编码为MP3。 这是我使用Node时的代码: var express = require('express'); var app = express(); app.use (function(req, res, next) { req.rawBody = ''; req.setEncoding('utf8'); if(req.method.toLowerCase() == "post") { req.on('data', function(chunk) { req.rawBody += chunk }); req.on('end', function() { done(req, res); }); } next(); }); function done(req, res) { fs.writeFile('abc.wav', req.rawBody, 'binary', function(err){ if (err) […]

有没有办法正则expression式引用Node.js中的string?

我想创build一个正则expression式匹配stringfoo ,即使foo包含元字符。 这有时被称为RegExp.quote 。 有没有办法在Node.js环境(或者更广泛地说,v8 / Chrome / WebKit / JavaScript)中执行此操作?