NodeJS+Express+Mysql服务端开发教程(windows)

本教程相关源码:https://github.com/jasonChen2014/qiyemingpian

1、搭建nodejs开发环境

对于长期想用nodejs开发,或者经常需要更新nodejs,或者切换不同版本nodejs的话,推荐使用nvmw来安装nodejs,顾名思义,就是node version manage windows(windows环境下的nodejs管理版本管理工具),Linus环境下请使用nvm。

git clone nvmw

这里假设大家都使用 D:\Program Files\Git 目录存放 git 项目

D:\Program Files\Git
git clone https://github.com/cnpm/nvmw.git

将“D:\Program Files\Git\nvmw”添加到你的path环境变量中

重新打开cmd,输入nvmw


通过nvmw安装任意版本的nodejs,这里安装的是v8.11.2

nvmw install v8.11.2

然后你还可以继续安装其他版本的nodejs,安装完之后,通过nvmw ls可以查看当前所有版本的nodejs,使用nvmw use v8.11.2可以切换到nodejs版本8.11.2

到了这里,nodejs的开发环境就算搭建好了。

2、安装express

安装express应用生成器

通过express应用生成器可以快速创建一个应用

npm install express-generator -g

在工作目录下创建名为“qiyemingpian”的应用

express qiyemingpian

然后安装所有依赖包

cd qiyemingpian

npm install

启动应用

npm start

在浏览器输入“localhost:3000”即可访问

一般express生成器生成的应用目录如下(Procfile)


public里面放的一般是静态文件,包括一些css、js以及图片文件,route放的是路由文件,views放到是模板文件,app.js是启动文件,是整个应用的入口。

3、开始“企业名片小程序”后端接口开发

创建数据库,建表(用的是mysql数据库,也可以选择用mongodb):

用户信息表ppx_huibian_user


企业名片信息表ppx_huibian_companycard


企业名片图片关系表ppx_huibian_companycard_img


企业名片收藏关系表ppx_huibian_companycard_favorite


教程中所有源码已经发布在github上:https://github.com/jasonChen2014/qiyemingpian,感兴趣的朋友可以去看看,接下来将挑选一些要点讲解

1、异步控制

在项目中,很多场景我们都会用到异步控制,尤其是在操作数据库的时候,例如:保存一个企业名片的信息,首先是保存基本信息,在表ppx_huibian_companycard插入一条记录,然后拿着这条新纪录的id和该名片关联的图片链接,在表ppx_huibian_companycard_img中批量插入数据。实现异步控制的方法有很多,包括回调函数、eventproxy模块、promise机制、generator流程管理、async模块等。

使用promise机制:



2、文件上传

文件上传使用了multer,用于处理multipart/form-data数据类型的中间件


四、部署

heroku,一个类似于新浪sae的pass,可以在上面申请一个账号,免费部署你的项目上去;并且提供了强大的add-on。

好了,接下来说说怎么把开发完的项目部署上去。

首先在项目目录下增加一个Procfile(没有后缀格式)文件,在里面编辑:

web: npm start

这个是用来告诉服务器如何启动我们的程序的。

然后在项目目录下初始化git,并将修改提交到git目录:(这里假设我们的项目还没有git)

git add .
git commit -m"init"

好了,接下来需要到heroku上面注册一个账号 https://www.heroku.com/ ,然后下载它的工具包 https://toolbelt.heroku.com/,安装好之后需要添加“C:\Program Files\heroku\bin”(安装目录)到你的path环境变量中,重新启动命令行,输入:

heroku login

输入注册heroku时的账号和密码,就可以登录上去了,接着进入我们的项目目录,执行heroku create:


这时,heroku会为我们的应用随机取一个名字,并提供了一个git仓库给我们,执行下git remote -v,即可查看当前的仓库名称及地址

git remote -v

出现结果如下(红色圈部分):


接着,往heroku这个远程地址推送我们的master分支

git push heroku master

出现如下结果:



heroku检测出是node程序,会自动安装依赖,并根据Procfile启动我们的程序,push完成后,在命令行输入heroku open,会自动打开我们的浏览器到相应的网址。

到了这里是不是发现还漏了一件事,对了,就是数据库,前面我们提了,heroku提供了强大的add-on,包括数据库,缓存等之类的服务,可以连接到我们的服务中去,接下来,我们打开heroku网址,找到我们的项目,点击configure-add-ons:


然后,这里我们选择第一个jawsDB:


接着,在弹出来的框中点击底部按钮provision


完成之后,会在这里显示你刚刚添加的add-on:


点击它,在打开的页面中获取你的mysql数据库地址:


复制这段地址,回到我们的项目,将该地址作为参数放入到我们的createConnection方法中:


回到命令行,重新把我们的分支push到heroku仓库,执行heroku open,会打开我自己做的一个测试页面,开始测试。

另外,对于不习惯mysql命令行的朋友,推荐下载安装一个HeidiSQL:https://www.heidisql.com/download.php,可以在视图中操控你的数据库。

好了,教程到此差不多结束了,第一次写,可能会有很多不清晰的地方,感谢大家反馈~

猜你喜欢

转载自blog.csdn.net/ppx2017/article/details/80809375