serverless for 腾讯云框架搭建一个全栈项目 之调试部分

320 阅读2分钟

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战

前言

上次说到安装啦一个vue-express 的全栈的应用,今天开始调试

image.png

前端的调试

比较简单 进入frontend文件夹 如果你没有安装的node包的话请先安装

npm install 

打开packages.json 文件

image.png

看到三条命令,我们执行本地开发环境

npm run serve

本地开发环境的错误

image.png 点开看下,发现window.env 在本地没有定义,感觉腾讯这是在增加难度啊,不应该直接把本地环境一块搞好吗(偷笑)

image.png

解决方案:

  • frontend/packages.json 添加本地环境变量

image.png 记得安装

npm install cross-env --save
  • frontend/src/main.js中根据环境变量添加缺少的全局变量
import Vue from 'vue';
import App from './App.vue';
// import 'env';
import './style/app.css';
const dev = Boolean(process.env.NODE_ENV) //判断环境变量
if(dev){
  window.env = {
    apiUrl: 'https://service-3zzanc8c-1255469424.gz.apigw.tencentcs.com/release/'
  }
} //添加本地变量

Vue.config.productionTip = false;

new Vue({
  render: (h) => h(App),
}).$mount('#app');

跨域的错误

image.png

解决方案 打开腾讯云serverless 应用管理 进入指定的应用

image.png 打开允许跨域访问,点击保存

image.png

如果这个部署没有报错的话,这个时候就在本地的前端访问线上接口啦 image.png

前端的开发和正常的vue项目一致,这里也没有啥特殊的地方

API接口端的调试

  • 进入api文件夹,执行
sls dev

image.png 微信扫码授权 扫码完成后等待上传

image.png 最令人吐槽的是,每次更新都是上传到云上的,大概2-5秒的时间,说实话,这叫本地调试吗?是不是还有其他的调试方法,这里先留个坑 image.png

还有一些不知名的报错

但是不影响调试

添加一个新的表 list

打开本地pg-admin4 链接到数据库,(关于这个工具请看上一文章) 在table上选择create -> table 填入相关的信息

image.png 填入表名称和对应的字端

image.png

api文件夹中添加一个新的路由

回到编辑器里面,api/controller 文件夹下面 添加一个list.js 文件 写入如下

image.png 这块demo中创建表的命令注释掉 不然会报权限不足的错误(这里不知道是不是因为是外网的远影)

  • 添加一个得到list的控制器

image.png

api/sls.js 中添加一个路由

image.png

image.png

其他 添加,编辑,删除,除了SQL 语句不同其他都是类似的

image.png