我正在尝试编写一个脚本来使用node.js下载图像。 这是我迄今为止: var maxLength = 10 // 10mb var download = function(uri, callback) { http.request(uri) .on('response', function(res) { if (res.headers['content-length'] > maxLength*1024*1024) { callback(new Error('Image too large.')) } else if (!~[200, 304].indexOf(res.statusCode)) { callback(new Error('Received an invalid status code.')) } else if (!res.headers['content-type'].match(/image/)) { callback(new Error('Not an image.')) } else { var body = '' […]
我正在使用node.js + express.js + everyauth.js。 我已经将所有的everyauth逻辑转移到模块文件中 var login = require('./lib/everyauthLogin'); 在这里我加载我的oAuthconfiguration文件与密钥/秘密组合: var conf = require('./conf'); ….. twitter: { consumerKey: 'ABC', consumerSecret: '123' } 这些代码对于不同的环境是不同的 – 开发/分期/生产,因为callback是针对不同的URL。 曲。 如何在环境configuration中设置这些参数以通过所有模块进行过滤,或者可以将path直接传递到模块中? 设置env: app.configure('development', function(){ app.set('configPath', './confLocal'); }); app.configure('production', function(){ app.set('configPath', './confProduction'); }); var conf = require(app.get('configPath')); 通过 app.configure('production', function(){ var login = require('./lib/everyauthLogin', {configPath: './confProduction'}); }); ? 希望是有道理的
假设我的示例url是 http://example.com/one/two 我说我有以下路线 app.get('/one/two', function (req, res) { var url = req.url; } url的值将是/one/two url 。 如何在Express中获得完整的url ? 例如,在上面的情况下,我想收到http://example.com/one/two 。
有没有办法让一个nodejs应用程序中的package.json中设置的版本? 我想要这样的东西 var port = process.env.PORT || 3000 app.listen port console.log "Express server listening on port %d in %s mode %s", app.address().port, app.settings.env, app.VERSION
我想检查我的模块是否被包含或直接运行。 我怎么能在node.js中做到这一点?
我已经使用了一段时间的WebSockets,我已经select使用Node服务器和WebSockets为我在大学的最后一年项目创build一个敏捷项目pipe理工具。 我发现使用WebSocket提供的应用程序可以处理的每秒请求数量增加了624%。 然而,自从开始我已经读过安全漏洞的项目,一些浏览器默认select禁用WebSocket。 这导致我的问题: 为什么在WebSockets似乎在降低延迟和资源开销方面做得如此出色时,使用AJAX有没有AJAX比WebSocket更好的方法?
我最近一直在四处寻找,find一个好的方法来沟通nodeJS和PHP。 这里有一个想法:nodeJS还是一个相当新的东西,用它开发一个完整的应用程序可能有些棘手。 此外,你可能只需要为你的项目的一个模块,如实时通知,聊天,…你想用PHPpipe理所有其他的东西,因为它可能更容易为你(你可以利用现有的框架CodeIgniter或Symfony)。 我想有一个简单的解决scheme; 我不想使用cURL或第三台服务器在Apache和Node服务器之间进行通信。 我想要的是能够在简单的Javascript,客户端从节点捕捉事件。 我没有find任何答案,完整的,大部分的时间客户端运行的节点服务器,所以不适用于我的情况。 所以我抓住了所有可能的主题,最后find我的答案。 我会尽力分享这一点,并有一个清楚的地方。 希望这可以帮助一些人! ;)
在服务器端Javascript引擎的上下文中,什么是非阻塞I / O或asynchronousI / O? 我认为这被认为是Java服务器端实现的一个优势。
假设你有这样一个简单的代码块: app.get('/', function(req, res){ res.send('Hello World'); }); 这个函数有两个参数, req和res ,分别代表请求和响应对象。 另一方面,还有其他函数带有第三个参数next 。 例如,让我们看看下面的代码: app.get('/users/:id?', function(req, res, next){ // Why do we need next? var id = req.params.id; if (id) { // do something } else { next(); // What is this doing? } }); 我不明白next()是什么,或者为什么使用它。 在这个例子中,如果id不存在, next究竟在干什么?
在这个页面上( http://docs.nodejitsu.com/articles/getting-started/what-is-require ),它指出:“如果你想把exports对象设置为一个函数或一个新的对象,你必须使用module.exports对象“。 我的问题是为什么。 // right module.exports = function () { console.log("hello world") } // wrong exports = function () { console.log("hello world") } 我console.logged结果( result=require(example.js) ),第一个是[Function]第二个是{} 。 你能解释一下它背后的原因吗? 我在这里阅读这篇文章: module.exports vs在Node.js中导出 。 这是有帮助的,但没有解释为什么这样devise的原因。 如果直接返回出口的参考资料,会出现问题吗?