《基于Node.js实现简易聊天室系列之项目前期工作》

前期工作主要包括:项目的创建,web服务器的创建和数据库的连接。
项目创建
网上关于Node.js项目的创建的教程有很多,这里不必赘述。Demo所使用的Node.js的框架是express,版本为4.0以上。
首先我们需要安装express,在控制台输入express -e项目名,回车即可生成相应地一些文件。
简要地说一下Demo依赖的模块。在这个项目的根目录下的package.json文件中将内容修改如下图所示。
前四项是Demo的大概说明,包括作者、描述、版本、隐私等,最后一项dependencies是Demo所依赖的模块及其对应地版本号。了解Node.js基础的都知道,控制台进入到项目的路径,输入npm install即可安装这些模块。
Web服务器的创建
在上一步的工作中,实际上一个web服务器默认已经创建了,地址以及端口号:http://localhost:3000     npm start启动该项目,出现如下图所示,即说明服务器启动成功
打开浏览器,在地址栏输入上述的url,会出现如下图所示

 

统统这些都是默认的,创建项目时我们需要初始化,至于如何初始化,这里也不详细介绍了。
聊天室Demo的目录结构如下图所示
需要说明的是node_modules文件夹中是存放Demo依赖的模块。其他的文件夹(文件)除了css及js相关插件均可自定义创建。
在server.js中创建服务器和连接服务器,代码如下:
 1 var express = require('express'),
 2   cookieParser = require('cookie-parser'),
 3   bodyParser = require('body-parser'),
 4   http = require('http'),
 5   path = require('path'),
 6   io = require('socket.io'),
 7   mongoose = require('mongoose'),
 8   app = express(),
 9   db,
10   userRoutes,
11   socketIO;
12 
13 /* 数据库连接 */
14 mongoose.connect('mongodb://localhost:27017/chatroom');
15 db = mongoose.connection;
16 db.on('error', console.error.bind(console, '数据库连接失败!'));
17 db.once('open', function callback() {
18   console.log('数据库连接成功!');
19 });
20 
21 /*Express 配置*/
22 app.use(cookieParser());
23 app.use(bodyParser.json()); 
24 app.use(bodyParser.urlencoded({ extended: true }));
25 app.use(express.static(path.join(__dirname, 'public')));
26 
27 
28 http=http.createServer(app,function(req,res){
29   res.writeHead(200, {'Content-Type': 'text/html;charset=utf-8'});
30 });
31 io = io(http);
32 
33 indexRoutes = require('./routes/index')(app);
34 userRoutes = require('./routes/users')(app);
35 
36 /*绑定io到服务器上*/
37 socketIO = require('./socketIO')(app, io);
38 
39 http.listen(3000, function () {
40   console.log('listening on *:3000');
41 });
View Code

 

在控制台启动Demo,出现如下图所示,则说明服务器连接成功,当然之前需要开启mongoDB

 

另外,有两个小技巧可以提高开发效率。
1.控制台清屏,输入cls
2.关闭服务器或者是退出当前程序(命令)快捷键 ctrl+C
posted @ 2017-06-15 11:18  Jinus  阅读(436)  评论(0编辑  收藏  举报