Tag: node.js

在Windows上开发meteor支持

meteor是否支持在Windows上开发? 我没有看到在文档中的任何下载或提及的Windows。 “快速启动”假设您在* Nix OS上。

将时间戳添加到所有控制台消息

我有一个完整的, 部署的基于Express的项目,其中有许多console.log()和console.error()语句。 该项目永远运行,将stdout和stderr指向2个独立的文件。 这一切工作得很好,但现在我错过了时间戳 – 要确切地知道何时发生错误。 我可以在整个代码中进行一些search/replace,或者在每个文件中使用一些覆盖控制台的npm模块,但我不想触及每个模型/path文件,除非我绝对必须。 有没有办法,也许Express中间件,这将允许我添加一个时间戳到每个调用,或者我必须手动添加它?

我怎样才能用Jest模拟一个ES6模块导入?

我开始认为这是不可能的,但我仍然要问。 我想testing一个我的ES6模块以特定的方式调用另一个ES6模块。 与茉莉花这是超级简单 – 应用程序代码: // myModule.js import dependency from './dependency'; export default (x) => { dependency.doSomething(x * 2); } 和testing代码: //myModule-test.js import myModule from '../myModule'; import dependency from '../dependency'; describe('myModule', () => { it('calls the dependency with double the input', () => { spyOn(dependency, 'doSomething'); myModule(2); expect(dependency.doSomething).toHaveBeenCalledWith(4); }); }); 与Jest相当的是什么? 我觉得这是一件很简单的事情,但我一直在试图弄清楚自己的头发。 我最接近的是用require s来replaceimport ,并将它们移动到testing/函数中。 […]

Node.js – 与Mongoosebuild立关系

我有2个Schema, Custphone和Subdomain 。 Custphone belongs_to Subdomain和Subdomain has_many Custphones 。 问题在于使用Mongoose创build关系。 我的目标是做:custphone.subdomain并获取Custphone所属的子域。 我在我的模式中有这个: SubdomainSchema = new Schema name : String CustphoneSchema = new Schema phone : String subdomain : [SubdomainSchema] 当我打印custphone结果时,我得到这个: { _id: 4e9bc59b01c642bf4a00002d, subdomain: [] } 当Custphone结果在MongoDB中有{"$oid": "4e9b532b01c642bf4a000003"} 。 我想做custphone.subdomain并获取custphone.subdomain的子域对象。

如何在不重新启动nodejs的情况下编辑我的服务器文件,当我想要查看更改时?

我试图设置我自己的nodejs服务器,但我有一个问题。 我不知道如何看到我的应用程序的变化,而不用重新启动它。 有没有一种方法来编辑应用程序,并看到与node.js生活的变化?

Node.JS:如何使用请求模块发送表单数据头

我有如下代码 var req = require('request'); req.post('someUrl', { form: { username: 'user', password: '', opaque: 'someValue', logintype: '1'}, }, function (e, r, body) { console.log(body); }); 我怎样才能设置标题呢? 我需要用户代理,内容types,可能还有其他的头文件: headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36', 'Content-Type' : 'application/x-www-form-urlencoded' }; 我已经尝试了多种方式,但我可以发送标题或表单数据,无法发送两个。

Express Passport(node.js)error handling

我已经看过error handling如何通过这个堆栈交换在节点中工作,但是我不确定什么护照在authentication失败时正在做什么。 我有以下LocalStrategy: passport.use(new LocalStrategy({ usernameField: 'email', passwordField: 'password' }, function(email, password, next) { User.find({email: UemOrUnm}, function(err, user){ if (err) { console.log('Error > some err'); return next(err); } if (!user) { console.log('Error > no user'); return next('Incorrect login or password'); } if (password != user.password) { return next(Incorrect login or password); } return next(null, user); […]

嘲笑node.js中的数据库?

如何在我的node.js应用程序中模拟出数据库,在这种情况下,使用mongodb作为博客REST API的后端? 当然,我可以将数据库设置为特定的testing数据库,但是我仍然可以保存数据,而不是只testing我的代码,而且还testing数据库,所以实际上我并没有进行unit testing,而是进行了集成testing。 那么应该怎么做? 创build数据库包装作为应用程序和数据库之间的中间层,并在testing中replaceDAL? // app.js var express = require('express'); app = express(), mongo = require('mongoskin'), db = mongo.db('localhost:27017/test?auto_reconnect'); app.get('/posts/:slug', function(req, res){ db.collection('posts').findOne({slug: req.params.slug}, function (err, post) { res.send(JSON.stringify(post), 200); }); }); app.listen(3000); // test.js r = require('requestah')(3000); describe("Does some testing", function() { it("Fetches a blogpost by slug", function(done) { r.get("/posts/aslug", function(res) { […]

如何更改jasmine-nodeasynchronous规范的超时时间

我怎样才能得到这个testing通过无需诉诸运行/ waitsFor块? it("cannot change timeout", function(done) { request("http://localhost:3000/hello", function(error, response, body){ expect(body).toEqual("hello world"); done(); }); });

JavaScript中的输出和原型是什么?

我是Javascript新手,在阅读的代码中看到很多导出和原型的使用。 他们主要用于什么,他们是如何工作的? //from express var Server = exports = module.exports = function HTTPSServer(options, middleware){ connect.HTTPSServer.call(this, options, []); this.init(middleware); }; Server.prototype.__proto__ = connect.HTTPSServer.prototype;