眼睛一闭一睁,到年底了。早就想尝试用 js 玩儿全栈,最近正好做毕设了,是一个关于资金的管理系统,于是乎,正好用来练练手。一咬牙一跺脚嗯,就用 Vue MySQL Express 吧。前端用 Vue,后端用 Express 做服务端提供数据接口,数据库用 MySQL(由于毕设就要求的是基于 SQL 数据库)。
说时易,做时难。以前都是单写 Vue,数据请求是请求的假数据,而且没有搭建过环境,所以单独用 Express 的话,也只是用express-generator生成 expreess 项目,而且前端是基于jade或ejs模板的。思来想去不知道如何将 Vue 加进去,如果要用 Vue 并且以组件式开发,则必然要用到webpack编译打包,于是…
1.用vue-cli脚手架工具创建一个基于 webpack 的 Vue 项目
前提:安装 node 环境
首先全局安装: npm install -g vue-cli,然后创建一个项目文件夹,进入项目目录执行:vue init webpack my-project(my-project 是项目名)。安装完成之后可以执行 npm install 安装依赖,执行 npm run dev进行开发时调试。
安装 vue-resource依赖,一种安装方式先在 package.json 中对应地方添加,然后执行npm install
"dependencies": {
"vue": "^2.1.0",
"vue-router": "^2.0.3",
"vue-resource": "^1.0.3"
},
2.添加 Express 服务端目录。
前提:电脑安装 mysql 数据库
在项目根文件夹下创建一个 server 文件夹。然后里面创建下面三个文件:
db.js用来添加 mysql 配置
module.exports = {
mysql: {
host: 'localhost',
user: 'root',
password: '',
database: 'test',
port: '3306'
}
}
index.j**press 服务器入口文件
const userApi = require('./api/userApi'); const fs = require('fs'); const path = require('path'); const bodyParser = require('body-parser'); const express = require('express'); const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use('/api/user', userApi);
app.listen(3000); console.log('success listen at port:3000......');
sqlMap.jsSQL 语句映射文件,以供 api 逻辑调用
var sqlMap = {
user: {
add: 'insert into user(id, name, age) values (0, ?, ?)'
}
} module.exports = sqlMap;
api/userApi.js 测试用 api 示例
var models = require('../db'); var express = require('express'); var router = express.Router(); var mysql = require('mysql'); var $sql = require('../sqlMap');
var conn = mysql.createConnection(models.mysql);
conn.connect(); var jsonWrite = function(res, ret) { if(typeof ret === 'undefined') {
res.json({
code: '1',
msg: '操作失败'
});
} else {
res.json(ret);
}
}; router.post('/addUser', (req, res) =
|