express mysql搭建博客_NodeJs+Express+MYSQL 一篇良心博客

一.  战前准备

1.操作环境

操作系统:win64

编辑器:VSCode最新

浏览器:随便

2.nodejs

https://nodejs.org/en/

9b0597b8d6e12a0f876900688cc7d925.png

3.mysql 5.7

https://dev.mysql.com/downloads/windows/

6f15f352cc1772cbed58139c43585a9c.png

4.安装

安装完成nodejs和mysql的时候要确认指令只能正常

在cmd输入

node --version

mysql --version

搞不定的去看看node和mysql的环境变量是否配置正常

如果环境变量也懒的搞,那么,请在cmd中cd到node和mysql的安装目录下的bin目录

相应指令一样可以用

079ea7f3979b84c70c427c422867308b.png

5.express脚手架

http://www.expressjs.com.cn/starter/installing.html

这里不能更加直接了,不过还是傻瓜化一点点

$ mkdir expressDemo

$ cd expressDemo

$ npm init -y

$ npm install express --save

至此node环境和express都安装好了

下面这个Hello World 的实例,新手无聊可以跑一跑

http://www.expressjs.com.cn/starter/hello-world.html

直奔目的去的同志就不用看了,节省一丢丢时间

那么上面那个expressDemo没用可以删了,真碍事儿吼

这名字我还想用,那就让它成套的衮去垃圾筒

接下来在编辑器打开文件夹,选择一个你钟意的文件夹

或者在资源管理器建好文件夹,然后cmd直接cd过去

然后看这个 Express 应用生成器

http://www.expressjs.com.cn/starter/generator.html

反正我又把他傻瓜化了一点,多的东西项目跑起来再了解是吧

$ npm install express-generator -g

$ express expressDemo

$ cd expressDemo

$ npm install

以上跑完了,初步享受成果

$ npm start

a7799c91bd8f7061889b70f92b9c2d4b.png

看到这个你就可以访问 http://localhost:3000/

500defaed21be28453e0880adc8671cd.png

这个页面我理解为 'Hello World !!!'

6.mysql 引入项目

$ npm install mysql --save

//这里我要加save

//免得删了node_module文件夹

//下次npm install之外

//还要跑一遍npm install mysql

然后我要提出来的,官方给的傻瓜连接mysql 我不建议去用

为什么呢,因为这个只能连一次,哪怕query成功了一遍,第二遍就凉凉

所以我接下来给的代码是mysql 连接池,减少一点学习成本,选择性忽略

e676b7d18ad0f5f5e568652d057bd659.png

接下来是数据库准备:    //我先按自己的流程走一遍

确保mysql成功安装后打开cmd(或者编辑器的命令行工具)

$ mysql -u jaysg -p

//意思就是连接数据库 -u 用户名 -p 密码

//然后输入你的密码

******

>mysql

//变成这样的界面 代表连接成功

>mysql:create database jaysg; //句末分号别忘了

//这里我新建一个jaysg数据库 命名?我懒

>mysql:create table users(

id INT NOT NULL AUTO_INCREMENT,

name VARCHAR(100) NOT NULL,

sex VARCHAR(40) NOT NULL

PRIMARY KEY ( id )

);

//建完表后

>mysql:INSERT INTO users(name, sex)

VALUES ('张三', 'male');

//然后随手插了条数据 你们可以用数据库软件随意搞

7.开始写接口了  真是激动人心

app.js路由的改动  我不想动,你也不用动

routes/users.js 修改 这里是正题

var express = require('express');

var router = express.Router();

router.get('/', function (req, res, fields) {

res.send('这就拿到了users的数据?!');

});

module.exports = router;

这不是没什么改动嘛,ok,下面才是正解

var express = require('express');

var router = express.Router();

var mysql = require('mysql'); //引入mysql 模块

//创建mysql连接池 参数字段很明显了就不说明了

var pool = mysql.createPool({

host: 'localhost',

user: 'root',

password: '123456',

database: 'jaysg'

});

//我要执行的mysql语句

var sql = 'SELECT * from users';

router.get('/', function (req, res, fields) {

//从连接池获取连接

pool.getConnection(function (err, conn) {

if (err) {

res.send(JSON.stringify({

code: '0x000000000',

status: 0,

remark: '服务器异常',

message: null,

data: null

}));

} else {

conn.query(sql, function (qerr, vals, fields) {

if (qerr) {

res.send(JSON.stringify({

code: '0x000000000',

status: 0,

remark: '获取用户列表',

message: '请求失败',

data: null

}));

}

//释放连接

conn.release();

res.send(JSON.stringify({

code: '0x000000000',

status: 1,

remark: '获取用户列表',

message: '请求成功',

data: vals

}));

});

}

});

});

module.exports = router;

数据库准备好了,接口准备好了,那么

npm start

然后访问 http://localhost:3000/users

看,连接都给你们准备好了

a2e58a7251e7dece0861c6e0fa5c0508.png

别在意数据的细节☺

8.题外提升jade 变 html

直接上代码不废话

abcf0330b8a07531ef141b08d7d52f8b.png

var express = require('express');

var router = express.Router();

/* GET home page. */

router.get('/', function(req, res, next) {

// res.render('index', { title: 'Express' });

res.sendFile("你的项目根目录/views/" + "index.html" )

});

module.exports = router;

Express

Express

Welcome to Express

提交

使用$.ajax模拟请求 需要引入jquery

https://jquery.com/ 没什么好说的,良心地址送上

引用地址和存放目录看上图,或者根据自己喜好来

8.大功告成

9f9c9a0bba51ed069c0ba16dfcae93d2.png

9faed791bbe507e001eef777e04e4c33.png

0deda1650cb19f3a4a10c9101f4f9f1a.png

图补齐了,再会 !

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值