如果npmtesting失败,npm posttest不会触发

testing失败时,有没有办法触发npm的posttest? 如果package.json包含 "scripts": { "pretest": "echo pretest", "test": "some_failed_test_or_error", "posttest": "echo posttest" } $ npm test将回显“前测”,但不是“后测”。 即使mocha不触发任何exception(只是一些简单的失败assert(true==false) ),我也会得到相同的行为,如果我使用mocha并且testing失败。 我正在启动一个预testing资源,我想杀死posttest的资源,testing本身是否通过或失败。 MacOS OS X 10.9.4,npm版本1.4.21,节点v0.10.30。

如何stream在node.js读取目录?

假设我有一个包含100K +甚至500k +文件的目录。 我想用fs.readdir读取目录,但是它不是stream。 有人告诉我,在完成读取整个文件列表之前,asynchronous使用内存。 那么解决scheme是什么? 我想readdir与stream的方法。 我可以吗?

将一个对象从jade传递给angularjs模板

我正在尝试从下面的节点传递一个对象到客户端 render: function(req,res){ res.render('auth',{ userData : req.session.user }); } 在我的auth.jade代码如下 script. var data = !{JSON.stringify(userData)} console.log(data) window.top.location='/profile' 所以我将应用程序redirect到一个新的路由,我使用angularjs在routeProvider中定义了这个路由 app.config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider) { $routeProvider. when('/profile', { templateUrl: 'templates/profile.html', controller: 'ProfileCtrl' }) 那么有没有一种方法可以访问该路由控制器中的“数据”对象?

错误:ENOENT,没有这样的文件或目录节点JS

我试图通过Node.js上传和下载图像到服务器,我使用下面的代码: var http = require('http'), path = require('path'), os = require('os'), fs= require('fs'),url = require('url'); var Busboy = require('busboy'); http.createServer(function(req, res) { if (req.method === 'POST') { var busboy = new Busboy({ headers: req.headers }); busboy.on('file', function(fieldname, file, filename, encoding, mimetype) { var saveTo = ".\\Images\\"+filename; file.pipe(fs.createWriteStream(saveTo)); }); busboy.on('finish', function() { res.writeHead(200, { 'Connection': 'close' […]

如何在sails.js中维护多个API版本

有没有人有使用sails.js维护多个版本的API的想法? 想象一个简单的例子: // Request GET /api/v1/catVids?min_view_count=10000 // Response [{"video_title": "top cat fails"}, {"video_title": "funny-ass cats"}] 用户正在积极地消费API的v1版本,但现在已经改变了将破坏现有function的需求。 例如,属性名称更改。 所以现在我们需要使用一个不同的控制器来满足这个新行为的要求。 我想要做的是两个API共存,所以向后兼容性不会中断。 // Request GET /api/v2/catVids?minimum_view_count=10000 // Response [{"title": "top cat fails"}, {"title": "funny-ass cats"}] 但是,我不确定实现这个最好的方法。 我认为可以工作的一种方法是在sails应用程序中使用以下目录设置: api/ |– controllers/ |—- v1/ |—— CatController.js |—- v2/ |—— CatController.js |– models/ |—- v1/ |—— Cat.js |—- v2/ |—— Cat.js […]

Jenkins&NodeJS插件 – 权限被拒绝的错误

我设法在Raspberry Pi上设置了一个Jenkins实例,并且在我最终击中了这个绊脚石之前安装了NodeJS插件: Started by an SCM change Building in workspace /var/lib/jenkins/jobs/Test Project/workspace > git rev-parse –is-inside-work-tree # timeout=10 Fetching changes from the remote Git repository > git config remote.origin.url localhost:/GITREPO/test # timeout=10 Fetching upstream changes from localhost:/GITREPO/test > git –version # timeout=10 > git fetch –tags –progress localhost:/GITREPO/test +refs/heads/*:refs/remotes/origin/* > git rev-parse refs/remotes/origin/master^{commit} # timeout=10 […]

jQuery AJAX调用Passportjs在Express(nodejs)框架上login

我试图使用AJAX在Express应用程序上使用Passport库调用loginvalidation。 我使用这样的本地策略: router.post('/login', function(req, res, next) { passport.authenticate('loginUsers', function(err, user, info) { if (err) { return next(err); } // if user is not found due to wrong username or password if (!user) { //return res.render('login', {}); res.json({detail: info}); }//(!user) //passport.js has a logIn user method req.logIn(user, function(err) { if (err) { return next(err); } return […]

航行js运行testing

我试图运行我的帆unit testing(使用摩卡和伊斯坦布尔) 运行时 grunt test 我得到的错误 1) "before all" hook 2) "after all" hook 0 passing (5s) 2 failing 1) "before all" hook: Error: timeout of 2000ms exceeded at null.<anonymous> (/vagrant/node_modules/mocha/lib/runnable.js:157:19) at Timer.listOnTimeout [as ontimeout] (timers.js:112:15) 2) "after all" hook: ReferenceError: sails is not defined 设置似乎没有find我的风帆,但是在做 which sails 我明白了 /usr/local/node/node-default/bin/sails 并运行sails lift工作正常 这是我的项目中的摩卡testing文件 //boostrap.test.js var […]

带有websocket的Node.js socket.io

我在Node.js或websocket begginer。 我有问题: 我的HTML代码: <!DOCTYPE html> <html> <head> <title>test</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <script> "use strict"; var gniazdo = new WebSocket('ws://localhost:3000'); gniazdo.onopen = function(){ console.log('Połączono'); }; gniazdo.onmessage = function(m){ console.log(m.data); }; </script> </body> </html> 我的Node.js代码: var io = require('socket.io')(3000); io.on('connection', function(socket){ console.log('a user connected'); }); 我在控制台中有错误: WebSocket connection to 'ws://localhost:3000/' failed: […]

计算素数时NodeJS比D快。 怎么样?

我在D中编写了一个计算素数的简单函数。我认为这很快,计算出素数高达100,000。 但后来我想把它与NodeJS进行比较。 当我第一次运行NodeJS脚本的时候,我惊异于这个差异,双重检查我没有跳过某种计算方法。 但是两者在function上完全相同。 d: import std.stdio; import std.math; import std.datetime; import std.file; import std.array; enum size_t ITERATIONS = 100_000; bool divisible(real n) { real d; for(d = 3; d < floor(n / 2); d += 2) { if(n % d == 0) { return true; } } return false; } void main() { StopWatch […]