用vue搭建前端页面、用node开发后端接口、数据库用mysql。这里只是简单的讲解搭建的逻辑是怎么样的,具体的一些应用还待挖掘。
学了node一直没有真正搞懂它是个什么玩意,总是说node就可以全栈了,简单一点理解就是前端开发者可以使用nodejs开发后端接口,然后自己实现全栈??应该是这样的吧
数据库这里使用的是mysql。最好下一个Navicat,可视化比较好。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JlRrwvK0-1636074667079)(https://i.loli.net/2021/10/30/ZoaDRhnVgpqrENu.png)]
这样数据库这里就差不多啦!
npm init
npm install mysql express --save
const express = require("express");
const app = express();
const mysql = require("mysql");
app.listen(3001,()=>{
console.log("服务器开启3001端口...")
})
// 创建与数据库的连接
const db = mysql.createConnection({
host:'localhost',
user:"root",
password:'*****',
database:"test1" //数据库名称
})
db.connect((err)=>{
if(err) throw err;
console.log("连接成功");
})
//getpost就是接口
app.get("/getpost",(req,res)=>{
let sql = "select * from student";
db.query(sql,(err,result)=>{
if(err){
console.log(err);
}else{
//将数据转换为json格式
var dataString = JSON.stringify(result);
var data = JSON.parse(dataString);
res.json({
status:'0',
msg:data
})
}
})
})
这里我们已经定义了一个接口:http://localhost:3001/getpost
那就去vue里使用吧!
axios
和qs
npm install axios
npm install qs
router.js
中定义路由跳转import Vue from 'vue'
import VueRouter from 'vue-router'
import Main from '../components/main.vue' //这是新建的测试文件
Vue.use(VueRouter)
const routes = [
{
path: '/',
name: 'Main',
component: Main
},
]
const router = new VueRouter({
routes
})
export default router
main.vue
中写入:
hellow
{{item.class}}
vue.config.js
文件,并写入:module.exports = {
publicPath: '/',
outputDir: 'dist',
assetsDir: 'static',
lintOnSave: true,
productionSourceMap: false,
devServer: {
open: true,
overlay: {
warnings: false,
errors: true
},
proxy: {
'/API': {
target: `http://localhost:3001`,
secure: false,
changeOrigin: true,
pathRewrite: {
'^/API': ''
},
}
}
}
}
node index.js
npm run serve