使用node.js开发一个网站
1.1、需求

开发一个企业员工晚上加班订餐的简单Web系统。前端页面支持响应式。

1.2、技术路线规划
1.3、在GitHub上创建项目仓库

登陆成功GitHub

点击右上角的“+”按钮,出现如下的弹层:

点击"New repository",出现如下界面:

输入项目名称、项目的描述、其他按照上图选择即可,点击“Create repository”,出现如下界面:

项目仓库创建成功。

1.4、搭建项目框架

1、使用git命令将项目仓库克隆到本地:

git clone https://github.com/leleliu008/Order_NodeJS.git

运行效果如下:

2、创建express工程:

3、安装node.js的依赖包:

express会依赖其他模块, 这些依赖在package.json中查看。 使用npm install进行安装这些模块, 这个命令没有指明需要安装什么模块,这时候,就去找当前文件夹下的package.json中的依赖说明。

npm install

运行效果如下:

4、安装node-mysql模块:

npm install mysql --save

运行效果如下:

此时,项目目录结构如下:

5、生成bower.json文件:

cd public
bower init

6、安装BootStrap

bower install bootstrap --save

因为BootStrap依赖jQuery, 所以也安装了jQuery

7、安装node-supervisor

npm install supervisor -g

8、启动服务:

npm start

或者使用热部署:

supervisor ./bin/www

9、打开浏览器:

firefox http://localhost:3000/

界面如下:

至此,框架已经搭建好了。开始编写业务了。

1.5、重点介绍
1.5.1 、SQL

所有功能几乎都是对关系型数据库的操作,所以对SQL应该非常熟悉才行。 我们使用的是MySQL数据库。 使用node-mysql作为驱动进行连接。MySQL数据库的部署, 建议选择阿里云的RDS。 当然你也可以选择其他云数据库,或者自己安装MySQL Server也行。

1.5.2 、cookies vs session

如何判断一个用户是否已经登陆了,我们可以使用cookies或者session。 所以,您应该清楚cookiessession的原理,以及他们之间的不同, 并且知道node.js中如何处理cookies或者session的。

1.5.3 、短信发送

对于短信发送功能,我们使用了阿里云的阿里大鱼服务。 这里涉及到短信发送功能的业务有两个:短信验证码、以短信的方式发送订餐信息给商家。

1.5.4 、验证码生成算法

1.6、部署

1、安装MySQL Server

2、安装Node.js

3、全局安装express

4、全局安装bower

5、全局安装Gulp

6、全局安装node-supervisor

7、下载源码:

git clone https://github.com/leleliu008/Order_NodeJS

8、修改配置文件config.js,您可能需要修改数据库的用户名或者密码,默认用户名和密码都是root

9、导入初始数据到MySQL

mysql -uroot -proot< mysql.sql

注意:

  • 如果您使用的是阿里云的RDS云数据库服务, 那么您必须先手动创建db_order_dishes数据库,然后再导入数据。
  • 我这里的数据库账户的用户名和密码都是root,换成你自己的即可。

10、安装node.js依赖包(在项目根目录下执行如下命令):

npm install

11、安装前端依赖:

cd src/public
bower install

12、构建项目(在项目根目录下执行如下命令):

gulp

13、启动服务:

npm start

14、如果您是进行开发,可以不构建,使用下面两个命令都可以:

node src/main.js

或者:

supervisor src/main.js

部署后的网址:http://order.fpliu.com

1.7、截图

移动端截图:

PC端截图: