关于个人全栈项目【臻美IT】博客类出现的问题以及解决方法
每做一个项目,要记得写下心得哦,别偷懒啊!
先上网址:
https://www.maomin.club/
这个项目属于博客类的,因为百度审核的问题就大体做了下,就当来练练手,里面文章链接的是CSDN的博客文章。
前台使用的是vue,后台使用的是koa框架。
那么我们接下来看一下我做这个项目遇到的问题。
一、实现后台数据实时更新博客文章列表
怎么才能只是修改数据库,动态更新列表呢?
这里就用到了node的koa框架,这个框架我个人认为比较方便,比express好多了。
其实作用也大差不差,对了,这里还用到了mysql,这个比较简单,不用细讲。
这里主要是使用了koa2-cors模块实现跨域,koa-router是用来做接口的。
下面是一段我后台的代码,只放一部分有关的代码。
var Koa = require(‘koa’);
var Router = require(‘koa-router’ );
var cors = require(‘koa2-cors’);
var mysql = require(‘mysql’);
var app = new Koa();
var router = new Router();
// 跨域
const allowOrigins = [
“http://localhost:8080”
];
app.use(cors({
origin: function(ctx) {
if (allowOrigins.includes(ctx.header.origin)) {
return ctx.header.origin;
}
return false;
},
exposeHeaders: [‘WWW-Authenticate’, ‘Server-Authorization’],
maxAge: 5,
credentials: true,
withCredentials:true,
allowMethods: [‘GET’, ‘POST’, ‘DELETE’],
allowHeaders: [‘Content-Type’, ‘Authorization’, ‘Accept’],
}));
// 数据库信息
var connection = mysql.createConnection({
host : ‘xxxxxxxx’,
port:3306,
user : ‘root’,
password : ‘xxxxx’,
database : ‘url’
});
connection.connect();
// 数据库操作
const query = function (sql) {
return new Promise((resolve, reject) => {
connection.query(sql, function (error, results) {
if(error){
reject(error);
}else{
resolve(results)
}
});
更多内容请见原文,原文转载自:https://blog.csdn.net/weixin_44519496/article/details/118669128