文档章节

nodejs入门——搭建一个聊天室应用

蛙牛
 蛙牛
发布于 2014/08/06 21:48
字数 488
阅读 3906
收藏 7

个人博客

http://mvc.coding.io/

1入门教程推荐

node入门 很早之前看的就是这个,比较浅显易懂,看一遍就明白nodejs到底是怎么一回事儿了

2开源项目

昨天在coding上看到了一个nodejs聊天室,fork了一份

nodejs聊天室

3环境搭建

nodejs官网,下载最新版本(本人电脑win7 64位),安装过程下一步下一步就行,安装会自动配置环境变量

建议安装目录自己选择一下,别默认安装在C:\Program Files\ 目录下(目录有空格 会出现一些问题

安装后如图所示

cmd控制台下 node -v 可以检查是否安装成功


4测试node例子

var http = require("http"); 
http.createServer(function(request, response) { 
response.writeHead(200, {"Content-Type": "text/plain"}); 
response.write("hello world"); 
response.end(); 
}).listen(8080); 
console.log("nodejs start listen 8080 port!");

5下载node聊天室项目

作为一个新手,比葫芦画瓢,直接运行项目,提示找不到‘express’模块,上网百度nodejs express

express是一个nodejs的mvc开发框架,需要通过npm安装(nodejs新版已经有npm了,不用再单独安装了

cmd命令行下 npm -v测试

进入到项目目录下 npm install 会下载项目需要的模块

新版的express项目使用的npm start 而不是node app.js

关于聊天室的演示版可以点这里点这里

6结语

感谢方文雄的开源项目,会运行nodejs项目,以后再看见nodejs的项目就不用担心啦

© 著作权归作者所有

共有 人打赏支持
蛙牛

蛙牛

粉丝 528
博文 46
码字总数 48937
作品 1
朝阳
程序员
加载中

评论(6)

蛙牛
蛙牛

引用来自“jessie2”的评论

这个是原作者的代码包里面的一个README.md文件里面的内容:
1. 在源代码目录执行npm install
2. 将配置信息写入环境变量`QXCHAT_CONFIG`中
3. 在源代码目录执行npm start

ok,你的聊天室可以访问了~!


配置信息示例

```json

{
  "mysql" : {
    "host" : "localhost",
    "port" : "3306",
    "username" : "username",
    "password" : "password",
    "db_name" : "db_name"
  }
}
第二步是什么意思呢?我直接执行第一步和第三步,出错
可能后来作者改了项目吧 我记得我弄的时候 好像还没有DB 你可以想办法联系作者 请教下哈~
j
jessie2
这个是原作者的代码包里面的一个README.md文件里面的内容:
1. 在源代码目录执行npm install
2. 将配置信息写入环境变量`QXCHAT_CONFIG`中
3. 在源代码目录执行npm start

ok,你的聊天室可以访问了~!


配置信息示例

```json

{
  "mysql" : {
    "host" : "localhost",
    "port" : "3306",
    "username" : "username",
    "password" : "password",
    "db_name" : "db_name"
  }
}
第二步是什么意思呢?我直接执行第一步和第三步,出错
蛙牛
蛙牛

引用来自“jayson1234”的评论

你好 你这个项目 我按照你的弄了 起不来呢 mysql 跟mongoDB也装了 ,但是还是报错,到这里开始报错
Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using
password: NO)
at Handshake.Sequence._packetToError (F:\nodejs\mydemo\qx-chat-master\node_m
odules\mysql\lib\protocol\sequences\Sequence.js:48:14)
at Handshake.ErrorPacket (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql
\lib\protocol\sequences\Handshake.js:101:18)
at Protocol._parsePacket (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql
\lib\protocol\Protocol.js:280:23)
at Parser.write (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\lib\prot
ocol\Parser.js:73:12)
at Protocol.write (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\lib\pr
otocol\Protocol.js:39:16)
at Socket.<anonymous> (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\li
b\Connection.js:96:28)
at emitOne (events.js:90:13)

我是前端的 ,后端刚学 望指教 谢谢0

引用来自“蛙牛”的评论

他那个项目 应该没有连接后端DB吧

引用来自“jayson1234”的评论

我用mysql连起来了 没有报错了 但是测试地址应该是:localhost:3306 么 还是你的localhost:300 ? 试了都不行。。
这个要看他源码中 监听的端口号 是多少 我的那个截图可能不完整~
j
jayson1234

引用来自“jayson1234”的评论

你好 你这个项目 我按照你的弄了 起不来呢 mysql 跟mongoDB也装了 ,但是还是报错,到这里开始报错
Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using
password: NO)
at Handshake.Sequence._packetToError (F:\nodejs\mydemo\qx-chat-master\node_m
odules\mysql\lib\protocol\sequences\Sequence.js:48:14)
at Handshake.ErrorPacket (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql
\lib\protocol\sequences\Handshake.js:101:18)
at Protocol._parsePacket (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql
\lib\protocol\Protocol.js:280:23)
at Parser.write (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\lib\prot
ocol\Parser.js:73:12)
at Protocol.write (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\lib\pr
otocol\Protocol.js:39:16)
at Socket.<anonymous> (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\li
b\Connection.js:96:28)
at emitOne (events.js:90:13)

我是前端的 ,后端刚学 望指教 谢谢0

引用来自“蛙牛”的评论

他那个项目 应该没有连接后端DB吧
我用mysql连起来了 没有报错了 但是测试地址应该是:localhost:3306 么 还是你的localhost:300 ? 试了都不行。。
蛙牛
蛙牛

引用来自“jayson1234”的评论

你好 你这个项目 我按照你的弄了 起不来呢 mysql 跟mongoDB也装了 ,但是还是报错,到这里开始报错
Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using
password: NO)
at Handshake.Sequence._packetToError (F:\nodejs\mydemo\qx-chat-master\node_m
odules\mysql\lib\protocol\sequences\Sequence.js:48:14)
at Handshake.ErrorPacket (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql
\lib\protocol\sequences\Handshake.js:101:18)
at Protocol._parsePacket (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql
\lib\protocol\Protocol.js:280:23)
at Parser.write (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\lib\prot
ocol\Parser.js:73:12)
at Protocol.write (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\lib\pr
otocol\Protocol.js:39:16)
at Socket.<anonymous> (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\li
b\Connection.js:96:28)
at emitOne (events.js:90:13)

我是前端的 ,后端刚学 望指教 谢谢0
他那个项目 应该没有连接后端DB吧
j
jayson1234
你好 你这个项目 我按照你的弄了 起不来呢 mysql 跟mongoDB也装了 ,但是还是报错,到这里开始报错
Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using
password: NO)
at Handshake.Sequence._packetToError (F:\nodejs\mydemo\qx-chat-master\node_m
odules\mysql\lib\protocol\sequences\Sequence.js:48:14)
at Handshake.ErrorPacket (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql
\lib\protocol\sequences\Handshake.js:101:18)
at Protocol._parsePacket (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql
\lib\protocol\Protocol.js:280:23)
at Parser.write (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\lib\prot
ocol\Parser.js:73:12)
at Protocol.write (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\lib\pr
otocol\Protocol.js:39:16)
at Socket.<anonymous> (F:\nodejs\mydemo\qx-chat-master\node_modules\mysql\li
b\Connection.js:96:28)
at emitOne (events.js:90:13)

我是前端的 ,后端刚学 望指教 谢谢0
Node.js开发入门—notepad++ for Node.js

对于Node.js开发,论IDE的话,Webstorm是不二的选择,但它是收费的(可免费使用30天)。一开始,我们先将就一下,使用notepad++来编写Node.js应用。这样做还有一大好处:没有关于Node.js的代...

foruok
2015/09/12
0
0
关于开发node.js个人网站,你需要的知识都在这里了

前言 nodejs.jpg 从2016年5月份开始,接触Node.js到现在已经有一年半的时间了。从最初的懵懵懂懂,到一篇一篇地啃大部头、看教程,再到自己开始写笔记、写教程,以及上手做了一些小功能,最终...

Mike的读书季
2017/12/01
0
0
从0开始用Nodejs做一个聊天室

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

iimT
05/13
0
0
《Node.js开发指南》书评汇总

刚查了下库存,发现订阅《Node.js开发指南》的读者大增,这是为什么呢?看了下近期本书在豆瓣的评论,口碑很好,现将豆瓣的书评汇总如下: ----------------------------------------------...

生气的散人
2012/10/15
0
0
vue入门环境搭建及demo运行

vue简介: Vue.js 是一套构建用户界面的渐进式框架。他自身不是一个全能框架——只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。在与相关工具和支持库一起使用时,V...

挑战者666888
05/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
37分钟前
1
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
2
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
25
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
2
0
emoji

前言:随着iOS系统版本的升级,对原生emoji表情的支持也越来越丰富。emoji表情是unicode码中为表情符号设计的一组编码,当然,还有独立于unicode的另一套编码SBUnicode,在OS系统中,这两种编...

HeroHY
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部