当前位置: 首页 > news >正文

1. 搭建前端+后端开发框架

1. 说明

本篇博客主要介绍网页开发中,搭建前端和后端开发框架的具体步骤,框架中所使用的技术栈如下:
前端:VUE + Javascript
后端:Python + Flask + Mysql
其中MySQL主要用来存储需要的数据,在本文中搭建基本框架时不做说明,后续该专栏系列的文章会根据情况做简要介绍。前端框架使用的是VUE2版本,读者可以根据需要换成VUE3.
该专栏系列文章需要读者具备基本的前后端开发知识,一些基本的操作可能在文章中会一笔带过。

2. 框架搭建步骤

2.1. 后端框架搭建

后端框架选择使用Python结合Flask,比较简单,在具备Python开发环境后,新建一个main.pay文件即可,具体代码如下:

from flask import Flask, request, jsonify
from flask_cors import CORSapp = Flask(__name__)CORS(app)# 添加一个路由函数,用于前端通信测试 (这里的语法不懂的可以百度下)
@app.route(/helloFlask/<string:testPara>, methods = [‘GET’,’POST’])
def hlloFlask(testPara):print(“testPara :, testPara)return jsonify({‘satus’ : ‘success’,’message’ : testPara}),200if __name__ == ‘__main__’:app.run(host =0.0.0.0, debug = True)

运行此代码,会在终端里输出一些提示,其中有一个是Runing on http://127.0.0.1:5000,这里的网址需要记住,会在前端配置中使用到。到此,一个简单的后端Flask框架就已经搭建完毕。

2.2. 前端框架搭建

第一步:在前端框架搭建之前,需要做一个基本的VUE环境配置,并新建一个基于VUE2的项目,这些可以自行百度。打开项目,找到vue配置文件vue.config.js,按照如下代码进行配置:

const { defineConfig } = require(‘@vue/cli-service’)
module.exports = defineConfig({transpileDependencies: true,devServer:{proxy:{/api’:{target:’http://127.0.0.1:5000//注意:这里的地址就是在上一步后端显示的地址//target:’http://local host:5000’	 //这样写也是可以的changeOrigin:true,pathRewrite:{^/api’:’’}}}},
})

第二步:因为使用的是路由视图,所以需要在App.vue文件中添加路由占位符,代码如下:

<template><div id=“app”><router-view></router-view></div>
</template><script>
export default {name:’App”,
}
</script><style>
</style>

第三步:在main.js文件中渲染主界面文件App.vue,代码如下:

import Vue from ‘vue’;
import App from ‘./App.vue’;
import router from ‘./router’;new Vue({el:’#app’,render: h => h(App),router,
});

第四步:创建第一个视图页面firstPage.vue,后面这个页面会被渲染到App.vue代码的路由占位符中,具体代码如下:

<template><div><span>这是第一个页面</span><button @click=“testFlask”>测试后端</button></div>
</template>
<script>
import axios from ‘axios’;
export default {name:’first_page’,data(){return {testPara:123456,}},created(){},computed:{},wach:{},methods:{testFlask(){//注意:helloFlask是在后端定义的路由函数名,后面的是传递的参数axios.get(/api/helloFlask/${this.testPara}).then(response => {if(response.data.status === ‘success’){alert(response.data.message);}else{alert(response.data.message);}})},},
}
</script>
<style scoped>
</style>

第五步:上面创建了一个子视图界面后,需要告诉路由router这个子视图是属于哪一个路由占位符的,所以还需要在index.js文件中进行指定,具体代码如下:

import Vue from “vue”;
import VueRouter from “vue-router”;Vue.use(VueRouter);const router = new VueRouter({mode:”history”,routes:[{path:/,name:”firt_page”,component: () => import(“@/components/firstPage.vue”)},],
});

至此,一个完整的前后端开发的基本框架已经搭建完毕,打开终端,输入*** npm run serve***,运行前端代码后,即可看到弹窗提示,显示出参数“123456”。

相关文章:

1. 搭建前端+后端开发框架

1. 说明 本篇博客主要介绍网页开发中&#xff0c;搭建前端和后端开发框架的具体步骤&#xff0c;框架中所使用的技术栈如下&#xff1a; 前端&#xff1a;VUE Javascript 后端&#xff1a;Python Flask Mysql 其中MySQL主要用来存储需要的数据&#xff0c;在本文中搭建基本…...

初会学习记录

目录 务实&#xff1a; 第一章 (1)会计概念&#xff0c;职能和目标&#xff1a; (2)会计假设&#xff1a; (3)会计核算基础&#xff1a; (4)会计信息质量要求&#xff1a; (5)会计人员职业道德规范 (6)会计准则制度体系概述&#xff1a; (7)会计要素与会计等式&#x…...

DeepSeek 使用窍门与提示词写法指南

一、通用提示词技巧 窍门分类技巧说明示例提示词明确需求用“角色任务要求”明确目标作为健身教练&#xff0c;为30岁上班族设计一周减脂计划&#xff0c;需包含饮食和15分钟居家训练结构化提问分步骤、分模块提问第一步&#xff1a;列出Python爬虫必备的5个库&#xff1b;第二…...

【大模型】DeepSeek核心技术之MLA (Multi-head Latent Attention)

文章目录 1. Multi-Head Attention (MHA)2. Multi-head Latent Attention (MLA)2.1 低秩压缩2.2 应用RoPE2.3 矩阵融合 参考资料 在讲解MLA之前&#xff0c;需要大家对几个基础的概念&#xff08;KV Cache&#xff0c; Grouped-Query Attention (GQA), Multi-Query Attention (…...

七、JOIN 语法详解与实战示例

一、JOIN 的作用与分类 JOIN 操作用于合并两个或多个表的行&#xff0c;基于表之间的关联字段。以下是常见的 JOIN 类型&#xff1a; JOIN 类型描述INNER JOIN返回两个表匹配的记录LEFT JOIN返回左表所有记录 右表匹配记录&#xff08;右表无匹配则为NULL&#xff09;RIGHT …...

Skynet入门(一)

概念 skynet 是一个为网络游戏服务器设计的轻量框架。但它本身并没有任何为网络游戏业务而特别设计的部分&#xff0c;所以尽可以把它用于其它领域。 设计初衷 如何充分利用它们并行运作数千个相互独立的业务。 模块设计建议 在 skynet 中&#xff0c;用服务 (service) 这…...

单片机栈和堆、FALSH、区别

1. Flash&#xff08;闪存&#xff09;&#xff08;程序存储器&#xff09; 用途 存储程序代码&#xff1a;编译后的机器指令&#xff08;如 .text 段&#xff09;、常量数据&#xff08;如 .rodata 段&#xff09;等。 掉电不丢失&#xff1a;程序固化在 Flash 中&#xff0…...

【FL0090】基于SSM和微信小程序的球馆预约系统

&#x1f9d1;‍&#x1f4bb;博主介绍&#x1f9d1;‍&#x1f4bb; 全网粉丝10W,CSDN全栈领域优质创作者&#xff0c;博客之星、掘金/知乎/b站/华为云/阿里云等平台优质作者、专注于Java、小程序/APP、python、大数据等技术领域和毕业项目实战&#xff0c;以及程序定制化开发…...

如何把word文档整个文档插入到excel表格里?

现象&#xff1a; 当我们双击此文档时可以快速打开对应的word文档 实现步骤&#xff1a; 1、点击一下要插入的excel表格里的单元格 2、选择上方的的【插入】【附件】的下拉框下的【对象】 3、选择【由文件创建】-【浏览】 再在弹出的框中选择【桌面】&#xff0c;选择要插…...

PDF文档中表格以及形状解析

我们在做PDF文档解析时有时需要解析PDF文档中的表格、形状等数据。跟解析文本类似的常见的解决方案也是两种。文档解析跟ocr技术处理。下面我们来看看使用文档解析的方案来做PDF文档中的表格、图形解析&#xff08;使用pdfium库&#xff09;。 表格解析&#xff1a; 在pdfium库…...

C++20 Lambda表达式新特性:包扩展与初始化捕获的强强联合

文章目录 一、Lambda表达式的历史回顾二、C20 Lambda表达式的两大新特性&#xff08;一&#xff09;初始化捕获&#xff08;Init-Capture&#xff09;&#xff08;二&#xff09;包扩展&#xff08;Pack Expansion&#xff09; 三、结合使用初始化捕获与包扩展&#xff08;一&a…...

51c自动驾驶~合集52

我自己的原文哦~ https://blog.51cto.com/whaosoft/13383340 #世界模型如何推演未来的千万种可能 驾驶世界模型&#xff08;DWM&#xff09;&#xff0c;专注于预测驾驶过程中的场景演变&#xff0c;已经成为追求自动驾驶的一种有前景的范式。这些方法使自动驾驶系统能够更…...

go设计模式

刘&#xff1a;https://www.bilibili.com/video/BV1kG411g7h4 https://www.bilibili.com/video/BV1jyreYKE8z 1. 单例模式 2. 简单工厂模式 代码逻辑&#xff1a; 原始&#xff1a;业务逻辑层 —> 基础类模块工厂&#xff1a;业务逻辑层 —> 工厂模块 —> 基础类模块…...

FREERTOS的三种调度方式

一、调度器的调度方式 调度器的调度方式解释针对的对象抢占式调度1.高优先级的抢占低优先级的任务 2.高优先级的任务不停止&#xff0c;低优先级的任务不能执行 3.被强占的任务会进入就绪态优先级不同的任务时间片调度1.同等优先级任务轮流享用CPU时间 2.没有用完的时间片&…...

前端依赖nrm镜像管理工具

npm 默认镜像 &#xff1a;https://registry.npmjs.org/ 1、安装 nrm npm install nrm --global2、查看镜像源列表 nrm ls3、测试当前环境下&#xff0c;哪个镜像源速度最快。 nrm test4、 切换镜像源 npm config get registry # 查看当前镜像源 nrm use taobao # 等价于 npm…...

redis repl_backlog_first_byte_offset 这个字段的作用

repl_backlog_first_byte_offset 是 Redis 复制积压缓冲区&#xff08;Replication Backlog&#xff09;中的一个关键字段&#xff0c;其作用是 标识积压缓冲区中第一个字节对应的全局复制偏移量。 通俗解释 当主从节点断开重连时&#xff0c;Redis 需要通过复制积压缓冲区&am…...

JavaScript基础(BOM对象、DOM节点、表单)

BOM对象 浏览器介绍 BOM&#xff1a;浏览器对象模型 IEChromeSafariFireFox 三方 QQ浏览器360浏览器 window对象 window代表浏览器窗口 window.innerHeight 734 window.innerWidth 71 window.outerHeight 823 window.outerWidth 782 Navigator对象&#xff08;不常用&am…...

Java Junit框架

JUnit 是一个广泛使用的 Java 单元测试框架&#xff0c;用于编写和运行可重复的测试。它是 xUnit 家族的一部分&#xff0c;专门为 Java 语言设计。JUnit 的主要目标是帮助开发者编写可维护的测试代码&#xff0c;确保代码的正确性和稳定性。 JUnit 的主要特点 注解驱动&…...

23种设计模式之《备忘录模式(Memento)》在c#中的应用及理解

程序设计中的主要设计模式通常分为三大类&#xff0c;共23种&#xff1a; 1. 创建型模式&#xff08;Creational Patterns&#xff09; 单例模式&#xff08;Singleton&#xff09;&#xff1a;确保一个类只有一个实例&#xff0c;并提供全局访问点。 工厂方法模式&#xff0…...

Seaborn知识总结

1、简介 &#xff08;1&#xff09;高级接口&#xff1a;Seaborn 提供了一组高级函数和方法&#xff0c;可以使得创建常见的统计图表变得简单&#xff0c;例如散点图、线性回归图、箱线图、直方图、核密度估计图、热图等等。无需像 Matplotlib 一样写大量的代码&#xff1b; …...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...