vue3+node+koa项目浅记
记录一下项目过程中遇到的问题吧。项目是自个本地开发的,使用的是vue3+node+koa2+mongoose,mongdb数据库是在docker安装的,并通过datagrip管理的。
一、跨域问题
问题:前端请求接口报错,Access to XMLHttpRequest at ‘…’ from origin ‘…’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.。
解决:下载koa2-cors,cors()中还可以进行相关配置
var cors = require('koa2-cors');
app.use(cors());
二、datagrip连接mongodb数据库不能手动增删改数据
问题:当我手动操作数据库时会提示 the view is read only,但是调用接口通过数据库命令操作就可行,所以排除了数据库用户权限的问题。
解决:当时下载的datagrip版本不支持mongodb数据库的手动改数据的操作,更新了版本就行了。
三、mongoose新增数据报错
问题:新增数据报错
try {
const result = await testM.insertMany(param)
ctx.body = {
code: 200,
msg: "添加成功"
}
} catch (error) {
// console.log(error) // 此处建议放开,可查看到具体问题
ctx.body = {
code: 400,
msg: "添加失败"
}
}
解决:定义数据库的Schema时,指定某字段为Number类型,后开发前端调用接口时,考虑到使用string类型更好,未对应修改后端代码,所以报错。
四、在同一局域网下,手机不能访问本地启动的项目
问题:本地启动的项目,在电脑的浏览器能正常访问,但是手机不行(连接的同一wifi)
解决:找了很多文章,大多说的是需要关闭防火墙,但是想起在公司开发时就不需要,后发现是连接wifi时的属性分为公用和专用网络,设置为专用网络就可以了