如何在JavaScript中将Blob转换为文件

我需要上传一个映像到NodeJS服务器到某个目录。 我正在使用connect-busboy节点模块。 我有我使用以下代码转换为blob图像的dataURL : dataURLToBlob: function(dataURL) { var BASE64_MARKER = ';base64,'; if (dataURL.indexOf(BASE64_MARKER) == -1) { var parts = dataURL.split(','); var contentType = parts[0].split(':')[1]; var raw = decodeURIComponent(parts[1]); return new Blob([raw], {type: contentType}); } var parts = dataURL.split(BASE64_MARKER); var contentType = parts[0].split(':')[1]; var raw = window.atob(parts[1]); var rawLength = raw.length; var uInt8Array = new Uint8Array(rawLength); […]

获取node.js中图像的宽度和高度

是否有可能得到在node.js(在服务器端,而不是客户端)的图像的宽度和高度? 我需要在我正在编写的node.js库中查找图像的宽度和高度。

NodeJ比Clojure更快吗?

我刚开始学习Clojure。 我注意到的第一件事就是没有循环。 没关系,我可以复发。 那么让我们来看看这个函数(来自Practical Clojure): (defn add-up "Adds up numbers from 1 to n" ([n] (add-up n 0 0)) ([ni sum] (if (< ni) sum (recur n (+ 1 i) (+ i sum))))) 为了在Javascript中实现相同的function,我们使用如下循环: function addup (n) { var sum = 0; for(var i = n; i > 0; i–) { sum += i; } […]

mongoose:find,修改,保存

我有一个mongooseUser模型: var User = mongoose.model('Users', mongoose.Schema({ username: 'string', password: 'string', rights: 'string' }) ); 我想findUser模型的一个实例,修改它的属性,并保存更改。 这是我试过的(这是错的!): User.find({username: oldUsername}, function (err, user) { user.username = newUser.username; user.password = newUser.password; user.rights = newUser.rights; user.save(function (err) { if(err) { console.error('ERROR!'); } }); }); 什么是查找,修改和保存User模型的实例的语法?

Node.js:Connect-Auth VS. EveryAuth

任何人都可以给一个很好的比较: https : //github.com/ciaranj/connect-auth和https://github.com/bnoguchi/everyauth 这似乎是快递 / 连接的唯一select

在setinterval中使用长时间间隔时,Node.js会崩溃

function createSasTokenTimer() { console.log("Hello"); } setInterval(createSasTokenTimer, 3000000); 我运行这个代码,50分钟后,我得到以下错误: Hello timers.js:265 callback.apply(this, args); ^ TypeError: Cannot read property 'apply' of undefined at wrapper [as _onTimeout] (timers.js:265:13) at Timer.listOnTimeout (timers.js:110:15) 间隔时间较短(例如2000000 ),一切正常。 这是Node.js中的错误吗? 更新: 操作系统: Windows ,Node.js版本: 0.12.4 当我只运行上面的代码时,它可以正常工作,但是当它在我的应用程序中时,它会中断,我不能指出我的代码中的哪一部分会破坏它,因为它非常冗长,没有看起来“可疑”。 无论如何,当间隔时间较短,它的工作,因为我写了。

在服务器端使用Node.js和Websockets重新使用Backbone.js模型

我一直在努力通过: http://blog.andyet.com/2011/02/15/re-using-backbonejs-models-on-the-server-with-node 我有几个有关共享模型服务器端的问题和关于重写同步的几个问题。 实时模型同步架构ftw。 楷模 所以在这个例子中,他同步他的整个应用程序状态。 我的应用程序状态的一部分是用户模型,它处理像login,寻找他们正在使用的平台types等等我使用这个错误? 我有这个模型中的客户端会话数据,真的不需要在服务器上,我应该把它放在服务器呢? 对于应该与服务器同步的严格应用程序数据的其他模型,如何在服务器上pipe理这些模型? 是否有一个“视图”types的组件可以修改模型,并在模型上扮演服务器需要的angular色? 同步 我想覆盖同步方法与服务器和需要更新的数据的任何其他客户端同步。 你怎么能写一个工作客户端 – >服务器和服务器 – >客户端的同步方法,以便不pipe它被称为每个人都得到更新?

多个package.json文件在一个包中

我有一个运行在PHP上的网站,使用Node进行一些开发任务。 目前,我们的团队依赖puppet来安装我们用于这些开发任务的节点模块,但是,我正考虑转而在站点的根目录中使用package.json文件。 我的问题是这样的: 我的PHP应用程序实际上是3个独立的站点,我们已经混合成一个(1个面向公众的站点,1个内部站点,1个面向站点的客户端),并且其应用程序的一些安装依赖于不同的节点包(或不同版本的同样的pacakge)。 虽然我知道将这些应用程序分开并让每个应用程序都pipe理自己的依赖关系是很好的,但是,有一种方法可以在一个站点中使用多个package.json文件? 换一种说法: /package.json /site1/package.json /site2/package.json /site3/package.json 或者,有没有办法让一个package.json处理多个应用程序的依赖关系? 我不知道这是否有意义,让我知道,如果我只是在左边的领域出路。 谢谢!

(Angularjs)Web应用程序的集成testing

我正在开发一个Web应用程序。 它由2部分组成。 一个节点rest服务器和一个angularjs客户端。 该应用程序的结构如下:Rest Server < – > Api Module < – > Angular App 服务器目前正在testing中。 我有unit testing和集成testing。 集成testing正在访问一个真实的数据库,并通过http调用其余的api。 我认为这是服务器testing所能达到的最高水平。 集成testing也运行得很快。 我非常有信心,我testing服务器的方式足以满足我的使用情况,我对结果感到满意。 不过,我正在努力如何testingangularjs应用程序。 我有相关指令和模块的unit testing。 写这些不是一个问题。 我想编写涵盖用户场景的集成testing。 类似注册场景:用户访问网站,进入registry单,并提交表单与数据。 angularjs团队正在从ng场景转移到量angular器 。 量angular器使用Selenium来运行testing。 因此有两个范围:应用范围和testing范围。 现在我可以想到我可以使用的三种不同的抽象。 而我不确定哪一个最适合我。 模拟Api模块 嘲笑其余的服务器 使用完整的服务器 模拟Api模块 在这种情况下,我不需要设置服务器。 所有的交互都在浏览器中运行 优点: 没有服务器是必要的 坏处: API是在浏览器范围内,我不得不篡改这一点。 我真的很喜欢这个解决scheme,但是我觉得很难嘲笑Api。 Api需要在浏览器范围内修改。 因此我需要将testing的修改发送到浏览器。 这可以做到 ,但是我没有看到如何在testing范围内运行断言如mockedApi.method.wasCalledOnce() 嘲笑其余的服务器 优点: 客户将保持不变 只有一个范围来处理 坏处: 一个必须build立rest路线 […]

sequelize js – 限制和sorting错误

在sequelize js中对查询进行sorting的正确方法是什么? 例: db.model.findAll({ where: conditions, order: 'postDate DESC', limit: 10, offset: 0, include: [model1, model2] }).complete(function(err, results){console.log(results); }); 导致限制和抵消的结果,首先,然后它进行sorting。 在限制结果之前,我应该怎么做sorting呢? 在未来谁会遇到这个bug,这是修复 order: [["postDate","DESC"]]