关于项目过程中的那些问题

发布于 2022-02-22  364 次阅读


笔者最近做完一个项目,在做项目的过程中也发现了很多问题,例如数据库的多表查询,笔者太久没用忘记了,还有vue打包以后的跨域问题,所以笔者在这里巩固一下。

多表查询

内连接

select * from  数据表1 inner join 数据表2 on 数据表1.1的某一属性 =数据表2.2的某一属性;

这样查询的结果是两个表所有的数据都有,与多表联合查询的结果是一样的

左外连接

select * from  数据表1 left join 数据表2 on 数据表1.1的某一属性 =数据表2.2的某一属性;

这样查询的结果是数据表1的结果都有,但是数据表2只会显示满足条件(select * from  数据表1 left join 数据表2 on 数据表1.1的某一属性 =数据表2.2的某一属性)的值,不满足条件的会显示null

右外连接

select * from  数据表1 right join 数据表2 on 数据表1.1的某一属性 =数据表2.2的某一属性;

这样查询的结果是数据表2的结果都有,但是数据表1只会显示满足条件(select * from  数据表1 right join 数据表2 on 数据表1.1的某一属性 =数据表2.2的某一属性)的值,不满足条件的会显示null,与左外连接是相反的

vue打包以后的跨域问题

用vue-cil的proxy代理处理的跨域,只在生产环境生效,在打包以后,就会失效,所以我们要利用node再去解决打包后的跨域问题,我用了'koa'和'koa2-proxy-middleware'

  1. 首先初始化一个项目
  2. 讲打包后的dist文件改名为public并放入
  3. 安装依赖
npm i koa koa-static koa2-proxy-middleware

具体代码配置如下:

const Koa  = require('koa')
const serve = require('koa-static');

const app = new Koa();
const proxy = require('koa2-proxy-middleware')

app.use(proxy({
  targets: {
    // (.*) means anything
    '/api/(.*)': {
            target: '跨域的地址与在proxy里的那个一样',
            changeOrigin: true, // 是否跨域
            pathRewrite: {
                '/api': '', // 重写路径
            },
        },
  }
}))
app.use(serve(__dirname + "/public")); //将public下的代码静态化
app.listen(3000, () => {
     console.log('项目启动')
})

最后附上笔者毕设吧,待毕设毕设答辩后,代码会开源

招聘系统