CNode

《使用angular和socket.io搭建聊天室》,求大家拍砖!

精华
Iisland205发布于13 年前最后回复12 年前36 回复15578 浏览0 收藏

最近在写使用angular和socket.io搭建聊天室,希望坛子里的童鞋可以去读读,提提意见!

查看回复

回复 (36)

C
coolicer#1·13 年前
    • 尼玛,我又遇到问题。用了bower之后,请求的css和js的content-type都变成text/html,我已经无语了。这是服务器问题还是...
Z
zhengchubo#2·13 年前

谢谢你的例子,写的很好。 发现有点小问题: 01-最简单的聊天室 上说要在.bowerrc文件中添加:

{
  "directory" : "webapp/components"
}

但是在实际的代码中写的是:

{
  "directory" : "static/components"
}
I
island205#3·13 年前
引用 coolicer尼玛,我又遇到问题。用了bower之后,请求的css和js的content type都变成text/html,我已经无语了。这是服务器问题还是...

这个和bower应该没有关系,应该是资源没有请求到,你看看是不是和楼下遇到了同样的问题?

M
mq1980#5·13 年前

第一篇里指令绑定不上,不知道哪里出错了 html:

js: //directive angular.module('techNodeApp').directive('ctrl-enter-break-line',function(){ console.log('directive %s',ctrlEnterBreakLine); return function(scope,element,attrs){ var ctrlDown = false; console.log("keydown event: %s",evt.which); element.bind('keydown',function(evt){ if(evt.which === 17){//ctrl key ctrlDown=true; setTimeout(function(){ ctrlDown = false; },1000); } if(evt.which === 13){//enter key if(ctrlDown){ element.val(element.val()+'\n'); }else{ scope.$apply(function(){ scope.$eval(attrs.ctrlEnterBreakLine); }); evt.preventDefault(); } } }); }; });

//directive angular.module('techNodeApp').directive('auto-scroll-to-bottom',function(){ console.log('autoScrollToBottom'); return { link:function(scope,element,attrs){ scope.$watch( function(){ return element.children().length; }, function(){ element.animate({ scrollTop:element.prop('scrollHeight') },1000); }

      );
    }
};

});

I
island205#6·13 年前
引用 mq1980第一篇里指令绑定不上,不知道哪里出错了 html: <div class="panel body room content" <div class="messages" auto scroll...

angular.module('techNodeApp').directive('ctrlEnterBreakLine', function() {}) 应该是这个ctrlEnterBreakLine

Q
qusiba#7·13 年前

thx

I
island205#8·13 年前
引用 qusibathx

求拍砖

W
waksana#9·13 年前

M
meteormatt#10·13 年前

过去瞧瞧.

I
island205#11·13 年前

大家就不能拍砖么?

Y
yuyue007#12·13 年前

给一个demo的地址呀~直接看demo~~~

S
shaun#13·13 年前

厉害,收藏了

C
coolicer#14·13 年前

访问http://localhost:3000完,弹出一个东西,然后就挂了。

module.js:340 throw err; ^ Error: Cannot find module './socket' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at SocketNamespace. (/home/www/nodejs/TechNode/app.js:14:3) at SocketNamespace.EventEmitter.emit [as $emit] (events.js:117:20) at connect (/home/www/nodejs/TechNode/node_modules/socket.io/lib/namespace.js:292:10) at /home/www/nodejs/TechNode/node_modules/socket.io/lib/namespace.js:308:13 at SocketNamespace.authorize (/home/www/nodejs/TechNode/node_modules/socket.io/lib/namespace.js:252:5) at SocketNamespace.handlePacket (/home/www/nodejs/TechNode/node_modules/socket.io/lib/namespace.js:302:14)

J
junxy#15·13 年前

围观一下,随便看了LZ的GitHub上有很多前端资源啊,像Seajs我们这边前端都有用,因主要搞backend还没仔细去看,收藏了先!

D
DoubleSpout#16·13 年前

寸志你都对外了?支持下~

W
warmsheep#17·13 年前

angularjs1.2.5版似乎没有$routeProvider了?怎么破?

I
island205#19·13 年前
引用 DoubleSpout寸志你都对外了?支持下

先让大家看看,怕写得不好

W
warmsheep#21·13 年前
引用 warmsheepangularjs1.2.5版似乎没有$routeProvider了?怎么破?

@island205 貌似是route模块需要引入angular-route.js,不然找不到。还以为官方去掉了这功能。

M
mq1980#22·13 年前
引用 mq1980第一篇里指令绑定不上,不知道哪里出错了 html: <div class="panel body room content" <div class="messages" auto scroll...

@island205 对的是我的代码里指令名称绑定的不对 不多example中的指令函数的参数有点问题,不知道是不是来网页中显示有问题

angular.module('techNodeApp').directive('ctrlEnterBreakLine', function() { return function(scope, element, attrs)

scope, element, attrs 这三个参数需要加‘$'符的

M
mq1980#23·13 年前

学 angularjs的各位同学 给大家推荐一个blog,写得很详细 http://zouyesheng.com/angular.html#toc34

S
shaun#24·12 年前

socket.io 没有 websocket 通用

G
gdut-zdc#26·12 年前

怎么我打开链接是 404页面。

G
guoliangchen#27·12 年前

404

K
klamtlne#28·12 年前

寸老师 求更新地址

I
island205#29·12 年前

什么更新地址?

I
island205#30·12 年前

怎么变精华了?

K
klamtlne#31·12 年前
引用 island205怎么变精华了?

@island205 应该是被挖坟了,上面那个地址404了,应该这里吧:https://github.com/island205/technode-tutorial

W
wangxuq#33·12 年前
引用 mq1980第一篇里指令绑定不上,不知道哪里出错了 html: <div class="panel body room content" <div class="messages" auto scroll...

@mq1980 这个指令绑定不上,最后怎么解决的呢?我先在也遇到这个问题了。index.html里面的ctrlEnterBreakLine, autoScrollToBottom和directive里面的指令是一致的,但是就是无法绑定。请指教,谢谢。。。

W
wangxuq#34·12 年前
引用 island205angular.module('techNodeApp').directive('ctrlEnterBreakLine', function() {}) 应该是这个ctrlEnterBreak...

@island205 这个指令绑定不上,最后怎么解决的呢?我先在也遇到这个问题了。index.html里面的ctrlEnterBreakLine, autoScrollToBottom和directive里面的指令是一致的,但是就是无法绑定。请指教,谢谢。。。

W
wangxuq#35·12 年前
引用 island205求拍砖

@island205 hi,我想知道一下,在technode最简单的聊天室那节,我的代码和你的一样,为什么按下CTRL+ENTER之后, 数据不能到RoomCtrl里面去呢?其他的都没有问题,就是无法发送消息出去。您猜想大概是什么情况呢?请指导一下,谢谢了。。。

W
wangxuq#36·12 年前
参与回复
登录后即可参与回复。登录