小编Jac*_*ack的帖子

如何在Windows上设置NODE_ENV = production?

在Ubuntu中它非常简单; 我可以运行应用程序:

$ NODE_ENV=production node myapp/app.js
Run Code Online (Sandbox Code Playgroud)

但是这不适用于Windows.是否有配置文件,我可以设置属性?

node.js express

308
推荐指数
13
解决办法
31万
查看次数

为什么在WebSockets可用时使用AJAX?

我已经使用WebSockets一段时间了,我选择使用Node服务器和WebSockets为大学的最后一年项目创建一个敏捷项目管理工具.我发现使用WebSockets提供的应用程序每秒可处理的请求数量增加了624%.

然而,自从启动项目以来,我已经阅读了安全漏洞,并且一些浏览器默认选择禁用WebSockets.

这引出了我的问题:

当WebSockets似乎在降低延迟和资源开销方面做得如此出色时,为什么要使用AJAX?AJAX比WebSockets做得更好吗?

ajax performance websocket node.js

196
推荐指数
5
解决办法
8万
查看次数

如何在Node.js中记录JSON对象的内容?

是否可以在Node.js中打印对象内容,例如方法和属性?

目前我正在尝试打印会话对象并获得以下内容:

console.log("Session:" + session);
> Session:[object Object]
Run Code Online (Sandbox Code Playgroud)

也许与PHP中的print_r(数组)类似,或者在Java中使用.toString.

json node.js

165
推荐指数
5
解决办法
14万
查看次数

使用Socket.io更新所有客户端?

是否可以使用socket.io强制所有客户端更新?我尝试了以下内容,但在新客户端连接时似乎没有更新其他客户端:

Serverside JavaScript:

我正在尝试向所有客户端发送一条消息,其中包含当前连接的用户数,它正确地发送了大量用户....但是,在刷新页面之前,客户端本身似乎没有更新.我希望这发生是实时的.

var clients = 0;
io.sockets.on('connection', function (socket) {
  ++clients;
  socket.emit('users_count', clients);    
  socket.on('disconnect', function () {
    --clients;
  });
});
Run Code Online (Sandbox Code Playgroud)

客户端JavaScript:

var socket = io.connect('http://localhost');

socket.on('connect', function(){
  socket.on('users_count', function(data){
    $('#client_count').text(data);
    console.log("Connection");
  });
});
Run Code Online (Sandbox Code Playgroud)

javascript node.js socket.io

74
推荐指数
2
解决办法
7万
查看次数

Redis服务器端口已在使用中

我正在使用Redis 2.2.13版

jack@ubuntu:~/redis$ src/redis-server
[23900] 14 Sep 14:28:52 # Warning: no config file specified, using the default config. In order to specify a config file use 'redis-server /path/to/redis.conf'
[23900] 14 Sep 14:28:52 # Opening port: bind: Address already in use
Run Code Online (Sandbox Code Playgroud)

所以我按照上面的说明试试

redis-server $HOME/redis/redis.conf
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

*** FATAL CONFIG FILE ERROR ***
Reading the configuration file, at line 135
>>> 'slave-serve-stale-data yes'
Bad directive or wrong number of arguments
Run Code Online (Sandbox Code Playgroud)

该文件有以下注释:

# When a slave lost the connection with the master, or when …
Run Code Online (Sandbox Code Playgroud)

redis

35
推荐指数
4
解决办法
4万
查看次数

如何在使用express/connect和会话存储时找到会话ID?

如果用户已经登录并尝试在新实例中再次登录,我希望它能够注销其他用户实例.我不希望同一个用户在我的应用程序上登录两次.

目前会话存储在Redis存储中,我使用express/connect来处理会话存储.可用于销毁会话的其中一个功能如下:

.destroy(sid, callback)
Run Code Online (Sandbox Code Playgroud)

但是我需要在调用.destroy()之前找到该会话ID.在Redis中,用户名存储为会话的一部分.

问题:是否可以查询Redis以获取基于用户名的会话ID?

redis node.js express

27
推荐指数
3
解决办法
6万
查看次数

Node.js + Socket.io + Windows 7/8?

我一直在寻找,但似乎无法找到解决方案.是否可以在Windows 7上的Node.js上安装Socket.io?

如果没有,是否有某种替代方案,或者您知道未来的Windows支持吗?

通常使用Node.js包管理器,但是我找不到在Windows上安装它的方法.http://npmjs.org/

我目前正在使用Node.exe(不通过Cygwin运行它).

如果NPM工作,这就是我想象它将安装在Windows上的方式:

npm install socket.io
Run Code Online (Sandbox Code Playgroud)

节点包管理器现在适用于Windows 7

只需安装Node.js并输入npm install socket.ioWindows控制台并查看即可C:\Users\[insert username]\node_modules.

windows node.js socket.io

18
推荐指数
2
解决办法
3万
查看次数

如何动态创建推文按钮?

我目前正在尝试动态创建具有水平计数功能的推文按钮:

JavaScript的

var twitter = document.createElement('a');
twitter.setAttribute('href', 'http://twitter.com/share');
twitter.setAttribute('class', 'twitter-share-button twitter-tweet');
twitter.setAttribute('data-url','http://mindcloud.co.uk/idea/?idea=' + this.id);
twitter.setAttribute('data-count', 'horizontal');
twitter.setAttribute('data-via', 'jtbrowncouk');
twitter.style.top = '20px';
twitter.style.left = '300px';
twitter.innerHTML = "Tweet";
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是该按钮显示为文本链接,而不是带有水平计数框的按钮.

我以相同的方式创建了一个facebook按钮,它可以正常工作,但为了使其工作,我使用以下内容:

JavaScript的

var facebook = document.createElement('fb:like');
facebook.setAttribute('id', 'like'+this.id);
facebook.setAttribute('href', 'http://mindcloud.co.uk/idea/?idea=' + this.id);    
facebook.setAttribute('layout', 'button_count');
facebook.setAttribute('send', 'false');        
facebook.setAttribute('width' , '300');
facebook.setAttribute('font', '');
facebook.setAttribute('show_faces', 'true');
facebook.style.top = '0px';
facebook.style.left = '300px';
Run Code Online (Sandbox Code Playgroud)

使用以下内容:

FB.XFBML.parse();
Run Code Online (Sandbox Code Playgroud)

解析并绘制按钮.FB.XFBML.parse()来自 http://connect.facebook.net/en_US/all.js

当我在.html文件中静态创建Tweet按钮时,它可以正常工作.我在索引页面中包含以下脚本,其中应该动态创建tweet按钮:

<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
Run Code Online (Sandbox Code Playgroud)

如果你能看到我做错了什么,请通知我!

以下屏幕截图给出了推文按钮出现问题的可视化解释! 推文按钮无法正确显示.

解:

我现在设法解决了这个问题.我想象的问题是twitter脚本在加载时运行,而不是在创建元素时重新运行.

使用以下jQuery正常工作!

$ .getScript(" http://platform.twitter.com/widgets.js ");

javascript twitter dhtml

14
推荐指数
2
解决办法
1万
查看次数

节点服务器,Socket.io'io没有定义'?

我已经按照以前一直为我工作的完全相同的步骤,通过express创建应用程序,将模块依赖项放在node_modules文件夹中.似乎找不到socket.io客户端javascript文件.

(我已经查看了其他人的修复,这是在脚本选项卡中包含JavaScript文件.我没有必要为我之前的节点+ socket.io项目执行此操作).

客户端上的JavaScript:

var socket = io.connect('http://localhost');
Run Code Online (Sandbox Code Playgroud)

服务器上的JavaScript:

var io = require('socket.io').listen(app);
Run Code Online (Sandbox Code Playgroud)

node_modules文件夹:

socket.io, which has an internal node_modules folder containing socket.io-client
Run Code Online (Sandbox Code Playgroud)

错误信息:

Uncaught ReferenceError: io is not defined
(anonymous function)
Run Code Online (Sandbox Code Playgroud)

当我手动包含socket.io客户端时: http ://cdn.socket.io/stable/socket.io.js

我得到一个不同的错误:

Uncaught TypeError: Object #<Object> has no method 'connect'
(anonymous function)
Run Code Online (Sandbox Code Playgroud)

node.js socket.io

13
推荐指数
2
解决办法
3万
查看次数

在服务器发送的JavaScript代码上安全使用eval()

我正在使用Node.js和Socket.io.我编写了一个应用程序,它可以从服务器发送JavaScript片段并在客户端上执行它们.JavaScript通过Secure WebSocket(WSS)发送,客户端有一个监听器,它将执行通过服务器传递给它的任何代码.

这个简短的脚本演示了原理:http://jsfiddle.net/KMURe/,您可以将onScript函数视为套接字侦听器.

我可以采用哪些安全协议来确保此交易安全?安全的websocket频道是否会使第三方难以充当中间人(在将代码发送到客户端之前更改代码)?

一些用例..

  • 动态分配的分布式计算.
  • 浏览器客户端可以从服务器动态学习.
  • 统一更新浏览器行为.

javascript websocket node.js

11
推荐指数
1
解决办法
1万
查看次数