Tag: node.js

Express.js req.ip正在返回:: ffff:127.0.0.1

我目前正在尝试获取请求的用户的IP。 问题是IP正在返回::ffff:127.0.0.1而不是127.0.0.1 。 我尝试使用trusted proxy选项(虽然不使用代理), req.ips是空白的。 使用4.x Express.js。 router.get('/', function(req, res, next) { console.log('ip', req.ip) res.send({}) });

如何使用Node.js和Express进行POST时访问请求体?

我有以下Node.js代码: var express = require('express'); var app = express.createServer(express.logger()); app.use(express.bodyParser()); app.post('/', function(request, response) { response.write(request.body.user); response.end(); }); 现在如果我发布像这样的东西: curl -d user=Someone -H Accept:application/json –url http://localhost:5000 我按预期得到了Someone 。 现在,如果我想得到完整的请求体呢? 我试着做response.write(request.body)但Node.js抛出一个exception,说:“ 第一个参数必须是一个string或缓冲区 ”,然后进入一个“无限循环”,除了说:“ 无法设置标题后发送 “。 这也是正确的,即使我做了var reqBody = request.body; 然后写入response.write(reqBody) 。 这里有什么问题? 另外,我可以不使用express.bodyParser()吗?

在“字段列表”中将未知列“* .createdAt”

我在“字段列表”中收到未知列“userDetails.createdAt”当尝试使用关联进行提取时。 使用findAll无关联工作正常。 我的代码如下: var userDetails = sequelize.define('userDetails', { userId :Sequelize.INTEGER, firstName : Sequelize.STRING, lastName : Sequelize.STRING, birthday : Sequelize.DATE }); var user = sequelize.define('user', { email: Sequelize.STRING, password: Sequelize.STRING }); user.hasOne(userDetails, {foreignKey: 'userId'}); user.findAll({include: [userDetails] }).success(function(user) { console.log(user) });

Proxyquire,rewire,SandboxedModule和Sinon:优点和缺点

当嘲笑节点依赖关系时,我发生了以下库: Proxyquire 换铁线 SandboxedModule 兴农 他们似乎都做了或多或less都是一样的事情:允许你模拟require()调用(除了Sinon外,它几乎包含了所有的东西)。 他们似乎都需要一些相当复杂的设置,注意传递给require的string的确切语法 – 在重构期间不是很好。 每个图书馆有什么优点和缺点? 我什么时候会select一个呢? 什么是每个图书馆擅长的示例用例? 这个领域的其他产品有哪些更好?

如何获得“should.be.false”语法通过jslint?

我正在为我的NodeJS代码写JS UT。 我使用Chai作为断言库,我更喜欢should语法。 我也使用jslint来检查JS文件的语法,甚至是UT的JS文件。 现在我遇到了jslint和Chai的问题。 在柴 ,你可以使用: myvalue.should.be.true; 但jslint给我: #1 Expected an assignment or function call and instead saw an expression. 我知道jslint带有很多选项,但是我找不到合适的选项来closures这个检查。

从JavaScript文件或REPL中require()'CoffeeScript文件

我正在使用Node.js,并希望将CoffeeScript整合到我的工作stream程中。 我有两个用例: 我希望能够编写require() CoffeeScript模块的JavaScript文件 我希望能够从节点REPL中加载CoffeeScript模块 对于案例#1:我可以从.coffee编译为.js并require() .js模块作为解决方法。 对于案例#2:现在我eval() coffee-script.compile()的输出。 有没有更好,更统一的方法来做到这一点?

我在保存Mongoose中的对象后如何获得对象ID?

var n = new Chat(); n.name = "chat room"; n.save(function(){ //console.log(THE OBJECT ID that I just saved); }); 我想console.log我刚刚保存的对象的对象ID。 我如何在Mongoose中做到这一点?

如何确定我是否安装了64位或32位节点可执行文件?

在我的Windows PC上,我安装了nodejs。 我想确定它是64位还是32位。 怎么能确定呢? 我执行了 node –help 但似乎没有任何select给我所需的信息。

摩卡testing与额外的选项或参数

我正在为使用Mocha的Node.js应用程序编写testing用例。 testing用例需要一个API密钥作为额外的input选项或参数。 API密钥是私有的,所以我不想将它直接包含在testing文件中,因为每个人都可以在GitHub上看到它。 我知道有一些select可用于摩卡: http://mochajs.org/#usage 但是是否可以包含一些参数让testing人员在命令行中为testing指定自己的API密钥? 如: ./node_modules/mocha/bin/mocha test/*.js –key YOUR_KEY

我可以在Heroku中运行coffeescript吗?

我有一个用CoffeeScript编写的node.js应用程序。 我想知道为了在Heroku上托pipe应用程序需要什么。 谢谢