第一步项目的基本配置
-
安装node 的express 脚手架
npm install -g express-generator
-
创建不带视图模板的项目
express demo --no-view // demo 是项目名称 --no-view 代表生成的项目不带视图模板
-
安装项目的依赖
1.首先 cd到创建的目录 npm run start 启动项目 2.npm install
-
安装 npm install node-dev -D //项目 热更新的方式
然后在 `package.json` 文件中添加 "scripts": { "dev": "node-dev ./bin/www" }, 启动项目 npm run dev 默认是3000端口 在./bin/www 里面可以修改端口
-
启动项目 npm run dev
-
项目结构
第二步 后台接口的编写
1.mysql数据库连接池 db.js
/*
* @Description: mysql数据库连接池
*/
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit: 10,//连接数量
host: 'localhost',//ip
user: 'root',//数据库账号
password: 'root',//数据库密码
database: 'world'//数据库
})
/**
* @description
* @param {string} sql sql语句
* @param {Array} value 值
* @param {function} callback 回调函数
*/
function query(sql, values, callback) {
console.log("db pool");
pool.getConnection(function (err, connection) {
if (err) throw err;
console.log("get connection ");
//Use the connection
connection.query(sql, values, function (err, results, fields) {
if (err) throw err;
//每次查询都会 回调
callback(err, results);
//只是释放链接,在缓冲池了,没有被销毁
connection.release();
});
});
}
exports.query = query;
2.注册接口
路径: routes/users.js
/*
* @Author: lichenxiang
* @Description: 注册
*/
router.post('/register', function (req, res, next) {
// 接收值
let {
account, password } = req.body;
// 判断账号和密码是否为空
if (!account || !password) res.json({
code: -1, msg: "账号或密码不能为空" })
// 查询sql
let serach_sql = `select * from user where account=?`;
db.query(serach_sql, [account], function (err, result) {
if (err) res.json({
code: -1, msg: "用户注册失败" });
if (result.length > 0) {
res.json({
code: -1, msg: "该用户已存在,请换个账号试一试" })
} else {
// 新增sql
let register_sql = `insert into user(account,password) values(?,?)`; // ? 是占位符
let values = [account, password]
db.query(register_sql, values, (err, data) => {
if (err) throw res.json({
code: -1, msg: "用户注册失败" });
res.json(