web图书管理全栈开发实战vue+elementui+node.js+mysql
由于篇幅所限,我将提供一个简化的代码示例,展示如何使用Vue.js、Element UI、Node.js和MySQL创建一个简单的图书列表界面。
前端(Vue.js + Element UI)
<template>
<div>
<el-table :data="books" style="width: 100%">
<el-table-column prop="id" label="ID" width="180"></el-table-column>
<el-table-column prop="title" label="书名" width="180"></el-table-column>
<el-table-column prop="author" label="作者"></el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
books: []
};
},
created() {
this.fetchBooks();
},
methods: {
fetchBooks() {
// 假设已经有一个从Node.js后端获取数据的API
this.axios.get('/api/books').then(response => {
this.books = response.data;
});
}
}
};
</script>
后端(Node.js + Express + MySQL)
const express = require('express');
const mysql = require('mysql');
const app = express();
const port = 3000;
// 连接MySQL数据库
const connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'password',
database : 'books_db'
});
connection.connect();
// 创建API路由
app.get('/api/books', (req, res) => {
connection.query('SELECT * FROM books', (error, results, fields) => {
if (error) throw error;
res.json(results);
});
});
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
在这个例子中,前端Vue.js组件负责渲染图书列表,并在created
钩子中调用方法从后端API获取数据。后端Express应用程序设置了一个API路由,用于从MySQL数据库检索数据并通过JSON格式返回。
请注意,这只是一个简化的示例,实际开发中你需要处理用户输入、错误处理、分页、搜索等功能,并确保前后端通信的安全性。
评论已关闭