Articles of node.js

使用jasmine.spyOn用于mongoose模式方法

我无法让茉莉间谍为我的mongoose文件工作。 我有一个方法设置在我的用户架构像这样: User.methods.doSomething = function() { // implementation } 用户是我正在testing的模型的依赖关系,我想确保doSomething被正确调用。 在我的testing中,我有这样的东西: spyOn(User.schema.methods, 'doSomething') 如果我注销User.schema.methods.doSomething我得到我期望的function,但是当我运行调用该方法的代码原始实现被调用,而不是间谍。 我也不能这样做: spyOn(userInstance, 'doSomething') 在我的testing中,userInstance没有被暴露,我真的想避免暴露它。 本质上,我想在用户文档(实例?)原型上设置一个间谍。 那可能吗?

节点和Grunt显示节点标识符消息,而不是执行

我在我的机器上安装了节点,并在我的目录中有两个可执行文件node.exe和nodejs.exe。 通过NPM,我已经安装了grunt和jshint grunt; 遵循本指南: http://strongloop.com/strongblog/use-grunt-js-and-the-power-of-javascript-to-automating-repetitive-tasks/ 当我尝试运行“grunt”“node”或“grunt jshint”到Windows命令提示符或Git Bash,然后我收到以下响应: The node identifier for <machine number> is <id number> 我有我的path\ nodejs \ node.exe文件的位置 我没有pipe理员或root用户访问我的机器,但可以将请求添加到path的权限或额外的项目。 但是,通过将节点path指定为“nodejs / nodejs.exe”,我能够使JSHint在Sublime Text中工作 将改变我的pathnodejs.exe改为解决这个问题; 还是有一个更深的问题进入我已经configuration的设置会导致这个问题?

可能使用gulp创build一个zip文件并上传而不使用临时文件?

我想创build一个zip文件并上传它,而不用像这样写一个临时文件到磁盘: gulp.task( 'zip-upload', function() { return gulp.src( '**/*', { cwd: 'out/', cwdbase: true } ) .pipe( zip( 'file.zip' ) ) .pipe( request.put( 'https://myurl.com' ) ); }); 但是它会抛出一个错误: http.js:853 throw new TypeError('first argument must be a string or Buffer'); TypeError: first argument must be a string or Buffer at ClientRequest.OutgoingMessage.write (http.js:853:11) at Request.write (…/node_modules/request/request.js:1315:25) 我用两个任务解决了这个问题,但这并不理想: gulp.task( […]

npm从私人registry安装,回退到一个git仓库的URL

对于npm我是一个新手,所以请帮助。 比方说,我有一些模块,我正在使用一个Git仓库为他们每个人,我也安装了sinopia有一个私人的registry。 问题是我们是2队。 一个城市的团队和另一个团队是世界末日。 在我的团队中,我已经安装了私人registry在本地networking中可用。 这里的问题是,当我们推进git时,另一个团队没有自己的私人registry,即使他们做了,他们也需要在他们的私人registry中发布每个模块的每个版本。 另一个问题是,我们不能(也不想)通过IP将sinopia服务器公开。 现在的问题是:我们如何configurationpackage.json / npm来pipe理私有registry(如果registry响应)和git存储库的依赖关系(如果私人registry不响应 – 也就是说存在 – )。 我知道我们可以设置每个依赖关系来引用一个git标签/分支/提交,但是我们也想在可能的情况下使用registry。 UPDATE 所以基本上我会需要一个package.json,知道如果这部分失败: "dependencies": { "app.core": "0.1.1" } 因为私人registry没有安装或不可用,它仍然可以加载这样的依赖: "dependencies": { "app.core": "git+ssh://git@repo.mydomain.com:group/app-core.git#v0.1.1" }, 另外请注意,我更喜欢可以在git仓库中推送的东西,这样任何一个团队都不应该在本地更改package.json。 希望有人能帮忙。

使用NPM安装包会导致依赖性循环

基本信息: System: OS X 10.9.2 Npm version: 1.4.9 Node version: v0.10.28 Ruby Version : ruby ​2.1.1p76 ( 2/24/2014 Revision 45161 ) [ x86_64- darwin12.0 ] 发生什么事情是,当我运行npm install -g bower或者sudo nom install -g命令或者bower变成了一个有错误但未完成的循环时,执行回滚并重新启动(我猜)。 也恰好被设置为下载其他依赖,如karma , mocha , chai (我不知道是否会成为bower依赖关系),但问题不仅在于,而且恰巧试图安装任何依赖关系考试: yeoman , grunt等… 我试过下面的命令,但问题依然存在: npm cache clean npm cache clear 这是一个部分 – debug.log npm文件: 32016 verbose etag […]

pdfkit中的HTML表格(Expressjs-Nodejs)

我正在使用pdfkit生成PDF文件,我想发送这个PDF文件到浏览器。 我的下面的代码工作正常,我得到一个文本的PDF。 其实下面的代码是样本生成PDF使用pdfkit在nodejs,但现在我想创buildHTML表。 最新的代码 var PDFDocument = require('pdfkit'); var fs=require('fs'); doc = new PDFDocument(); doc.pipe( fs.createWriteStream('out.pdf') ); doc.moveTo(300, 75) .lineTo(373, 301) .lineTo(181, 161) .lineTo(419, 161) .lineTo(227, 301) .fill('red', 'even-odd'); var loremIpsum = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam in…'; doc.y = 320; doc.fillColor('black') doc.text(loremIpsum, { paragraphGap: 10, indent: 20, align: 'justify', columns: […]

Dynamics CRM Online + Node.js(请求runns永远/挂起)

我试图开发一个允许使用CRM Online的SOAP Web服务的node.js模块: XrmNodeKit 该代码基于Jason Lattimer提供的JavaScript代码 到目前为止,我能够检索身份validation令牌,但是当我执行WhoAmI请求时,Web服务调用将永远运行(请参阅testing“ 应该获取当前用户的名称 ”,不会引发错误…. 你可以在github上find源代码 有没有人试图通过Node.js使用SOAP Web服务?

如何将Ember添加到现有的Node / Express.js应用程序中

我正在将Ember添加到已经部署的Node / Express / EJS应用程序中。 我不想破坏任何现有的应用程序行为,而是想要使用Ember为应用程序构build任何附加function。 这些新function的服务器端代码已经build好,每个端点都会返回Ember Data期望的JSON格式。 我一直在研究Ember App Kit和Ember-cli,但我不知道如何将这些工具包含到我现有的目录结构中,而且我不确定这些工具是否适合我的用例。 有没有人有这个特殊用例的经验? 例如,导航到/foo将返回呈现ejs模板的现有快速路由,但是/bar将是一个Ember路由,该路由命中同名的api端点。

我怎样才能将ES6代码编译到ES5的浏览器?

我已经使用npm安装了traceur,并设法编译了一个简单的ES6脚本。 我的问题是,生成的代码特定于node.js 我知道Traceur可以从浏览器运行,但我想进一步优化。 有没有一种方法来从命令行(节点)以类似的方式运行traceur如何lesscss工作?

使用Connect Multiparty处理节点js中的请求

Error: Request aborted at IncomingMessage.onReqAborted (D:\ProjectName\node_modules\express\node_modules\connect\node_modules\multiparty\index.js:131:17) at IncomingMessage.EventEmitter.emit (events.js:92:17) at abortIncoming (http.js:1911:11) at Socket.serverSocketCloseListener (http.js:1923:5) at Socket.EventEmitter.emit (events.js:117:20) at TCP.close (net.js:466:12) 使用连接多方中间件在节点js中上传多个文件时出现此错误。 我甚至没有上传大文件。 其不超过50MB。 当上传文件时断开networking连接时出现此错误。 有没有办法来处理这个错误。