Node.js – 如何从html发送数据来expression

这是html中的表单示例: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>CSS3 Contact Form</title> </head> <body> <div id="contact"> <h1>Send an email</h1> <form action="/myaction" method="post"> <fieldset> <label for="name">Name:</label> <input type="text" id="name" name="name" placeholder="Enter your full name" /> <label for="email">Email:</label> <input type="email" id="email" placeholder="Enter your email address" /> <label for="message">Message:</label> <textarea id="message" placeholder="What's on your mind?"></textarea> <input type="submit" value="Send message" […]

使用callback函数和闭包时,在JavaScript中维护对“this”的引用

我发现自己将“this”分配给一个variables,所以我可以很容易地在callback和封闭中使用它。 这是不好的做法? 有没有更好的方式来回溯到原来的function? 这是一个典型的例子。 User.prototype.edit = function(req, res) { var self = this, db = this.app.db; db.User.findById('ABCD', function(err, user)) { // I cannot use this.foo(user) self.foo(user); }); }; User.prototype.foo = function(user) { }; 你通常使用这种方法,或者你find了一个更清洁的解决scheme?

如何更新json文件中的值并通过node.js保存

如何更新json文件中的值并通过node.js保存? 我有文件内容: var file_content = fs.readFileSync(filename); var content = JSON.parse(file_content); var val1 = content.val1; 现在我想改变val1的值并保存到文件中。

使用Node.js将对象写入文件

我已经search了所有的这个stackoverflow /谷歌,但似乎无法弄清楚。 我正在抓取给定URL页面的社交媒体链接,该函数返回一个包含URL列表的对象。 当我尝试将这些数据写入一个不同的文件时,它将以[object Object]输出到文件中,而不是预期的:[' https://twitter.com/#!/101Cookbooks','http:// www。 facebook.com/101cookbooks '],就像我console.log()的结果。 这是我在Node中读写文件的悲哀尝试,试图读取每行(url)并通过函数调用request(line, gotHTML) : fs.readFileSync('./urls.txt').toString().split('\n').forEach(function (line){ console.log(line); var obj = request(line, gotHTML); console.log(obj); fs.writeFileSync('./data.json', obj , 'utf-8'); }); 供参考 – gotHTML函数: function gotHTML(err, resp, html){ var social_ids = []; if(err){ return console.log(err); } else if (resp.statusCode === 200) { var parsedHTML = $.load(html); parsedHTML('a').map(function(i, link){ var href […]

用npm安装bcrypt时出错

我无法在我的机器上使用npm安装bcrypt因为我遇到以下错误。 我一直在解决这个问题,没有太多的运气。 你能推荐任何步骤来诊断或修复这个问题,所以我可以成功运行npm install bcrypt吗? Someones-Macbook:node_modules Cody$ npm install bcrypt npm WARN package.json grunt-contrib-htmlmin@0.1.3 No README data | > bcrypt@0.7.7 install /Applications/MAMP/htdocs/richintime/ultimate-seed/node_modules/bcrypt > node-gyp rebuild child_process: customFds option is deprecated, use stdio instead. CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.o ../src/bcrypt_node.cc:118:18: error: no member named 'Dispose' in 'v8::Persistent<v8::Function, v8::NonCopyablePersistentTraits<v8::Function> >' callback.Dispose(); ~~~~~~~~ ^ ../src/bcrypt_node.cc:202:19: error: unknown […]

在Ubuntu中安装特定的Node版本

我想在Ubuntu 12.04上安装NodeJS 0.8.18版本。 我尝试安装最新的版本,然后使用nvm恢复到0.8.18,但是当我运行我的代码显然有安装软件包和两个版本(最新和0.8.18)的一些问题。 由于我不知道如何解决这个问题,我从Node安装中清理了机器,并考虑直接安装我感兴趣的版本(v0.8.18)。 不幸的是,我不知道该怎么做。 有人可以帮我吗? Google这次不是我的朋友。 谢谢

噶/茉莉花超时没有运行testing

我正在尝试从Grunt运行Karma / Jasmine,在http://newtriks.com/2013/12/31/automating-react-with-yeoman-and-grunt/ Karma推出PhantomJS(或Chrome),根据singleRun,它要么超时,要么坐在那里,什么都不做。 我试着改变基于阅读类似问题的人的解决schemecaptureTimeout和browserNoActivityTimeout ,但似乎并没有工作。 我的相关版本: NodeJS:0.10.25 噶玛:0.12.16 Webpack:1.1.11 webpack-dev-server:1.4.1 业力 – 茉莉花:0.1.5 Linux:Ubuntu 14.04 我发现在OS X上有同样的问题 : 我试过更新所有我的开发依赖到最新版本,但问题仍然存在。 我的控制台输出如下。 引用bundle的webpack行现在有效/无效令人担忧,但是我找不到任何有关它们的含义的信息。 这是我的控制台输出: Running "karma:unit" (karma) task DEBUG [config]: autoWatch set to false, because of singleRun DEBUG [plugin]: Loading karma-* from /home/ed/workspace/wwb-app/node_modules DEBUG [plugin]: Loading plugin /home/ed/workspace/wwb-app/node_modules/karma-chrome-launcher. DEBUG [plugin]: Loading plugin /home/ed/workspace/wwb-app/node_modules/karma-coffee-preprocessor. DEBUG [plugin]: Loading […]

uglify-js可以删除console.log语句吗?

我使用uglify-js来缩小源代码。 我想删除原始源代码的console.log语句。 可能吗? 还是有没有其他的压缩机工具支持这个? 我在Node.js中使用下面的代码。 var uglify = require('uglify-js'); var originalSourceCode = 'var name = function(){var str = "test"; return str}; console.log("log data");'; var minifiedCode = uglify.minify(originalSourceCode, { fromString : true, mangle: {}, warnings: true }); console.log(minifiedCode); 输出是: $node m.js { code: 'var name=function(){var a="test";return a};console.log("log data");', map: 'null' } 在缩小的代码中,console.log不会被删除。

Passport-Facebook身份validation不提供所有Facebook帐户的电子邮件

我正在使用Passport-Facebook身份validation。 passport.use(新FacebookStrategy({ clientID:'CLIENT_ID', clientSecret:'CLIENT_SECRET', callbackURL:“http://www.example.com/auth/facebook/callback” }, 函数(accessToken,refreshToken,profile,done){ process.nextTick(function(){ 执行console.log(configuration文件) }); } )); 对于一些Facebook帐户,我没有得到email_id,我甚至尝试通过使用一个范围variables如下,但我仍然无法得到email_id。 profileUrl:“”和ProfileFields:['','']

摩卡APItesting:得到'TypeError:app.address不是一个函数'

我的问题 我已经编写了一个非常简单的CRUD API,最近我也开始编写一些使用chai和chai-httptesting,但是在使用$ mocha运行我的testing时遇到了问题。 当我运行testing时,在shell上出现以下错误: TypeError: app.address is not a function 我的代码 这里是我的一个testing( /tests/server-test.js )的示例: var chai = require('chai'); var mongoose = require('mongoose'); var chaiHttp = require('chai-http'); var server = require('../server/app'); // my express app var should = chai.should(); var testUtils = require('./test-utils'); chai.use(chaiHttp); describe('API Tests', function() { before(function() { mongoose.createConnection('mongodb://localhost/bot-test', myOptionsObj); }); beforeEach(function(done) { […]