文档章节

nodejs 聊天室

招展君
 招展君
发布于 2015/12/01 11:46
字数 322
阅读 15
收藏 0

项目步骤

###1.初始化

  1. npm init
  2. 安装依赖
npm install --save express 
npm install --socket.io
  1. 安装库文件
bower install bootstrap

这里需要注意的是express会去根目录下的public访问库文件,而bower安装则会在根目录下生成一个bower_components文件夹来存放下载的库文件. 这时候就需要在根目录下新建一个 .bowerrc 在里面写

{
  "directory":"public"//要存放bower安装的库文件的文件夹
}

4.angular的安装 这里需要注意的是用npm 和bower 都可以下载angular,但是这里比较推荐用bower来进行下载.两个安装的区别之一在于存放的目录不同 因为angular是要在html页面里面进行引入的,express对html的引入都会去从public里面去找, '''

###2. app.js进行依赖引入和初始化 app.js作为服务器端主程序文件

var express = require('express'),
    app = require('express')(),
    http = require('http').createServer(app),
    io = require('socket,io')(http);

app.use(express.static(__dirname)+'/client');

app.get('/', function (req, res) {
    //为什么不用res.render
    res.sendFile('index.html');
})
var connectedSockets = {};
var allUsers = [{nickname:''}];
io.on('connection', function (data) {
    socket.on('addUser', function (data) {

    });
    socket.on('addMessage', function (data) {

    });
    socket.on('disConnect', function (data) {

    })
})
http.listen(3000, function () {
    console.log('app is running at port 3000')
})

###3. 搭建文件目录结构

Chat
|--client
|  |--assets
|  |  |--js
|  |  |  `--client.js
|  |  `--css
|  |--index.html
|  |--message.html
|  `--user.html
`--app.js

© 著作权归作者所有

共有 人打赏支持
上一篇: canvas 大转盘
招展君
粉丝 0
博文 8
码字总数 2941
作品 0
闸北
程序员
私信 提问
nodejs入门——搭建一个聊天室应用

个人博客 http://mvc.coding.io/ 1入门教程推荐 node入门 很早之前看的就是这个,比较浅显易懂,看一遍就明白nodejs到底是怎么一回事儿了 2开源项目 昨天在coding上看到了一个nodejs聊天室,...

蛙牛
2014/08/06
0
6
NODE.JS & HTML5 聊天室

最近学习了一下 HTML5 + node.js,一边学习一边做例子。 用 node.js 制作 Server 端,提供 http & webSocket 服务,其中 webSocket 使用的是 socket.io 前台采用的是 静态的html 页面,用 ht...

zTree
2012/08/14
0
2
使用node.js + socket.io + redis实现基本的聊天室场景

使用node.js + socket.io + redis实现基本的聊天室场景 在这篇文章Redis数据库及其基本操作中介绍了Redis及redis-cli的基本操作. 其中的publish-subscribe机制应用比较广泛, 那么接下来使用n...

蜗牛奔跑
2017/10/18
0
0
从0开始用Nodejs做一个聊天室

Cover 效果图 老样子,还是先放个效果图,动态图,有点大(4M)请耐心等加载。 随便说说 最近在做东西的时候有一个对战功能,需要用到Socket技术,于是了解了一番相关的实现方案,最后选择了...

iimT
05/13
0
0
【求助】谁知道 node-websocket-server 框架怎么用,麻烦帮忙看一下

本人是名在校大三学生,刚接触nodejs不到一个星期,看了node入门 然后主要是想用nodejs结合websocket和WebGL搞一个小开发,正好在本站和其他地方都有许多讲nodejs与websocket结合的文章,其中在w...

冯焰
2012/02/04
1K
2

没有更多内容

加载失败,请刷新页面

加载更多

MongoDB

MongoDB介绍 官网www.mongodb.com, 当前最新版3.4 C++编写,基于分布式的,属于NoSQL的一种 在NoSQL中是最像关系型数据库的 MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组...

chencheng-linux
33分钟前
1
0
Qt那些事0.0.10

release和debug在性能上差距很多,困扰我三周的问题很可能是因为这个。

Ev4n
47分钟前
4
0
flume1.8taildirSource

flume使用(一):入门demo flume使用(二):采集远程日志数据到MySql数据库 flume使用(三):实时log4j日志通过flume输出到MySql数据库 flume使用(四):taildirSource多文件监控实时采集...

hblt-j
48分钟前
1
0
redis--windows客户端引起的项目问题

一、redis安装 redis客户端下载地址:https://github.com/MSOpenTech/redis/releases。(redis一开始只支持Linux系统,后来有团队搞出了windows版,不过版本时间偏旧,也无所谓了,可以正常使...

随风飞临蛮荒境123
今天
1
0
19《Java核心技术》之什么情况下Java程序会产生死锁?如何定位、修复?

一、提出问题 今天,我们会讨论一些日常开发中类似线程死锁等问题的排查经验,并选择一两修复过或者诊断过的核心类库死锁问题作为例子,希望不仅能在面试时,包括在日常工作中也能对你有所帮...

飞鱼说编程
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部