Tag: 快车

如何使用nodejs和express在REST API中实现search和过滤

我正在通过构buildREST API来学习和使用Node和Express。 我没有任何数据库来存储数据,我做了一切在内存中。 比方说,我有一个用户数组: var users = [{"id": "1", "firstName": "John", "lastName": "Doe"}]; 并定义了一个getAllUser函数: exports.getAllUser = function(page, items) { page = (page < 1 ? 1 : page) || 1; items = (items < 1 ? 5 : items) || 5; var indexStart, indexEnd; indexStart = (page – 1) * items; indexEnd = indexStart + […]

Express,Node,Angular将audio文件发送到前端

我正在尝试从Node / Express后端将audio文件提供给Angular前端。 服务器端代码是: var file = "/filepath.wav"; res.download(file, 'testAudio.wav'); 客户端代码: var testData = null; this.getBasicAudio = function(){ console.log("Requesting File"); $http.get('/getBasicAudio', "FilePathRequest") //Success, return the file .success(function(data){ console.log("File retrive Successful"); testData = data; return true; }) //Error, file not retrived .error(function(data){ console.log("File retrive Failed"); return false; }); }; 这将返回文件一切正常。 我试图加载到一个audio对象,就像我把文件引用。 var audio = new Audio(testData); […]

使用express.js和节点上传文件,限制扩展

我正在处理file upload使用express.js和节点,并具有基本function工作。 我需要的是实施一些安全措施 – 即限制上传到某些格式(PNG,JPEG)。 有没有简单的方法只允许某些格式? 它会进入身体parsing器吗? app.use(express.bodyParser({ uploadDir: __dirname + '/public/uploads', keepExtensions: true })); app.use(express.limit('4mb')); 我还有其他的安全措施吗? 从图像中擦除EXIF数据通常是一个好主意? 谢谢, 本

nodejs / express app的翻译/本地化工作stream程

您在nodejs / express应用程序中使用了哪些设置进行本地化? 现在我在我的项目中使用i18n节点 。 但是我对json文件中的存储不满意。 我想将翻译存储在数据库中。 我find了一个名为方言的有希望的模块。 它可以存储在mongodb中的翻译,也有同一作者的模块,使您可以通过web界面( dialect-http )pipe理翻译。 不幸的是,方言模块似乎不能用最新的稳定版本的节点。 问题是已知的2个月,但因为没有更新从那时起,我猜这个模块不再被主动维护。 我认为使用redis数据库来存储翻译也是有道理的。 我不知道是否有一个模块。 也许你们有一些提示或知道任何好的模块?

续集和快速会话模型

我试图让快速会议与postgres工作。 经过几个小时的debugging,我已经解决了所有的问题,但只有一个。 一切正常,但以下: 如果我在pgAdmin中运行这个查询,我的会话将正常工作 CREATE TABLE "sessions" ( "sid" varchar NOT NULL COLLATE "default", "sess" json NOT NULL, "expire" timestamp(6) NOT NULL ) WITH (OIDS=FALSE); ALTER TABLE "sessions" ADD CONSTRAINT "session_pkey" PRIMARY KEY ("sid") NOT DEFERRABLE INITIALLY IMMEDIATE; 如果我使用sequelize创build模型,那么它不会保存会话。 我敢肯定,这是显而易见,我缺less我的模型定义的一些部分,并会感激任何input。 var Sessions = database.define('sessions', { sid: { type: Sequelize.STRING, primaryKey: true }, expire: { type: […]

如何清理Nodejs(heroku + redis)中的所有会话?

我正在使用托pipe在heroku上的nodejs(expressjs)。 会话存储在redis( heroku的Redistogo插件)中: RedisStore = require('connect-redis')(express) app.use express.session secret: process.env.CLIENT_SECRET cookie: { maxAge: 604800000 } store: new RedisStore {client: redis} 用户login后,我将他的信息存储在req.session中 after_user_logged_id = (req, user)-> req.session.current_user = id: user._id name: user.name 我需要重新启动服务器并清理所有会话:注销所有用户强制他们login一次。 我应该怎么做? 重新启动redis插件没有帮助。

expressjs node.js为google / etc bot和人stream量提供不同的数据

我想确定传入的请求是来自bot(例如google,bing)还是人类,并且为每个客户端提供不同的数据,例如用于客户端JavaScript的json数据来构build站点或预处理的html。 使用expressjs,有没有一个简单的方法来做到这一点? 谢谢。

Connect-mongo替代Express 4

我正在寻找在我的快速应用程序中实现cookiestore,我跟着这个问题 适用于Express + MongoDB的最佳会话存储中间件 和 https://github.com/kcbanner/connect-mongo 对于我的Express 3.x项目,但对于Express 4,不build议使用connect中间件。 connect-mongo是什么合适的select?

快速自定义模块不加载在Heroku上

请参阅以下更新 我用Express写了一个Node.js应用程序,在本地工作正常,但是当我在Heroku上运行应用程序时,它给了我以下错误: 2013-01-19T21:55:42+00:00 app[web.1]: module.js:340 2013-01-19T21:55:42+00:00 app[web.1]: throw err; 2013-01-19T21:55:42+00:00 app[web.1]: ^ 2013-01-19T21:55:42+00:00 app[web.1]: Error: Cannot find module './blog/blog' 2013-01-19T21:55:42+00:00 app[web.1]: at Function.Module._load (module.js:312:12) 2013-01-19T21:55:42+00:00 app[web.1]: at Module.require (module.js:362:17) 2013-01-19T21:55:42+00:00 app[web.1]: at Object.Module._extensions..js (module.js:467:10) 2013-01-19T21:55:42+00:00 app[web.1]: at require (module.js:378:17) 2013-01-19T21:55:42+00:00 app[web.1]: at Object.<anonymous> (/app/app.js:15:12) 2013-01-19T21:55:42+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:338:15) 2013-01-19T21:55:42+00:00 app[web.1]: at Module.load (module.js:356:32) 2013-01-19T21:55:42+00:00 […]

express / node.js API中有效的服务器端JavaScript内存pipe理

概观 过去我已经对JavaScript内存pipe理进行了一些阅读,并且意识到了循环DOM引用等问题。 然而,我仍然有点不舒服,因为这意味着服务器端的JavaScript环境,比如node.js ,更确切地说,是一个用express编写的API。 拿这个示例文件(让我们称之为server.js) var npm_moduleA = require('npmA')({ someInitArg : 'blah' }), app = express.createServer(); app.get('/api/foo', function (req, res) { var result = npm_moduleA.doSomething(); res.send(result); }); app.get('/api/bar', function (req, res) { var npm_moduleB = require('npmB')({ someInitArg : 'blah' }), result = npm_moduleB.doSomethingElse(); res.send(result); }); 问题(假设这是一个高负荷的网站) npm_moduleA的生命周期是npm_moduleA ? 它是在服务器启动的时候创build的,但是什么时候(如果有的话,GC会对它进行攻击) – 我猜测它永远不会被触及,因为它在全局范围内? 在'/ api / bar […]