位置: IT常识 - 正文

基于Vue+Python的应用搭建——前端[1](pycharm vue)

编辑:rootadmin
基于Vue+Python的应用搭建——前端 基于Vue的应用前端GUI搭建引言1. 概览1.1 总体结构1.2 项目编译时会发生什么1.3 路径会被如何定位2. 响应式组件2.1 用CSS调节组件大小和间距2.2 组件传参引用

推荐整理分享基于Vue+Python的应用搭建——前端[1](pycharm vue),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python和vue,python和vue结合开发前端,基于vue的论文,python和vue结合开发前端,pycharm vue,python和vue结合开发前端,python和vue结合开发前端,python和vue结合开发前端,内容如对您有帮助,希望把文章链接给更多的朋友!

这篇文章的目标是跟进Vue 3.2发布以来前端的新进展和自己对于基于Vue和Python搭建前后端应用的实践经验和新理解, 搭建一个尽量简单/清晰/实用/有参考价值的前端GUI页面. 该GUI页面尽管是基于WEB技术实现, 但也为移植到基于Flask和Webview的Python应用中预留了接口. 这篇文章包含的一些技术细节希望可以给未来的自己和朋友们带来价值.

引言

时隔三年, 回看当初断更的博客——如何用 Vue.js + Electron 把你的 Python 控制台应用套上好看的 GUI——感到颇为惭愧, 为当时雄心壮志开坑不填而惭愧, 同时也为自己这三年中没有更加勤奋精进惭愧.

当初搭建基于Vue的前端应用时对于HTML/JS/CSS等WEB前端技术一窍不通, 一番折腾之后终于弄出了一个能用的页面. 中间走了不少弯路不谈, 里面的实现也谈不上简单明晰. 特别是用到JS去写前端逻辑时, 从C/C++这样的强类型语言启蒙的我感到JS的语法简直时一团浆糊. 这样尽管这段时间的开发实践让我对JS的实用性和接受度颇为改观, 但我的"JS语法好似答辩"的刻板印象仍然没有动摇. 我对JS的理解可以概括成两点: 1) JS的终极准则就是全局变量——别管, 全局变量就完事了; 2) 时刻警惕无处不在的_未定义_. 可以说这两点导致了我的代码就是我的代码, 今天的代码就是今天的代码, 换一个人或者过几天, 代码就读不懂啦.

除了JS让我放下了结构良好的代码的执念, 眼花缭乱的前端UI框架也让我放下了响应性良好的页面的执念. 对于我这种玩票选手, 钻研页面组件的响应性实在过于奢侈, 以至于有时候过分依赖某一个UI框架提供的组件而又不了解其底层实现反而失去了对页面的掌控.

所以这次, 我准备在脚本上拥抱Vue 3, 在页面上回归Element-ui和CSS. Vue 3中增加了对TypeScript的原生支持. TypeScript作为一个JS的超集, 为JS提供了类型支持. 我的直观感觉是函数传参总算不至于一堆字符串和undefined乱飞了. 而新增加的组合式API让组件的结构看上去更清晰, 对比起来感觉以前好像一堆钩子. 不过组合式API似乎对简陋的单HTML文件不太友好, 所以就显得写一个方便日后删改的Demo很有必要. 而我这次选择Element-ui一方面是因为它有TypeScript版本Element-plus, 另一方面也是因为它够用而不过分复杂, 自己写几行CSS排排版也就能做出像样的页面了. 还有一点是因为我毕竟是饿了么重度用户, 我自己对于GUI的概念也已经渐渐变成了饿了么的模样.

基于Vue+Python的应用搭建——前端[1](pycharm vue)

为了让这个演示应用尽可能地简单, 同时又包含足够多的技术细节供日后参考, 我准备让页面包含响应式页面组件, 组件参数传递, HTTP通信, 图片展示, 引入外部定义的全局变量等几个基本的内容. 为此, 我在这篇文章里给出一个Dalle-mini的网页应用. 这个应用根据用户输入的_提示_(prompt)给出一幅由后端Dalle-mini模型生成的图像. 项目我已经发布到我的Github仓库. 接下来我将介绍几个的技术细节.

1. 概览1.1 总体结构

要使用组合式API意味着仅仅写一个包含所有功能的HTML是行不通的. 当然, Vue 3也提供了传统的选项式API. 选项式API的好处是可以快速写出一个单HTML文件的网页应用, 也方便在浏览器控制台操作vm实例. 但我个人觉得要用回选项式API, 不如直接一步到位切回Vue 2, 毕竟老版本用着习惯.

既然要用到组合式API, 那么最新版本的Node.js是少不了了(至少16+). 为了快速安装依赖, 可能还需要安装阿里镜像源的包管理工具cnpm. 我在这里用了官方的构建工具Vite和项目脚手架create-vue. 通过以下命令生成一个项目:

cnpm init vue@latest

要注意在✔ Add TypeScript?时要选择Yes才能使用TypeScript. 其他选项选No即可.

生成的项目文件结构如下:

Project| public| | ...| src| | assets| | | ...| | components| | | ...| | App.vue| | main.ts| index.html| tsconfig.json| ...

注意安装element-plus和@element-plus/icons-vue后, 还需要在tsconfig.json中修改相应配置.

1.2 项目编译时会发生什么

在项目中, index.html几乎会被原封不动地编译. 因此一些不希望由Vue做的事情, 以及希望能够方便被外部修改的内容何以写到这个文件里.

main.ts是Vue组件与HTML之间的接口. 这里主要用来创建Vue应用实例. 同时, 也由于这里位于引用的最顶端, 所以可以在这里

本文链接地址:https://www.jiuchutong.com/zhishi/296198.html 转载请保留说明!

上一篇:js获取当前日期,格式 YYYY-MM-DD HH:mm:ss(js获取当前日期的函数)

下一篇:今日的CSS小案例(css案例教程)

  • 网络新闻营销比较好的推广方式(网络新闻营销比例是多少)

    网络新闻营销比较好的推广方式(网络新闻营销比例是多少)

  • 四大简单指标:证明社交媒体营销策略的价值(四大经典指标技术必胜术)

    四大简单指标:证明社交媒体营销策略的价值(四大经典指标技术必胜术)

  • usb打印机怎么连接电脑(怎样连接打印机usb接口怎么打印出来)

    usb打印机怎么连接电脑(怎样连接打印机usb接口怎么打印出来)

  • 视频号点赞时间显示吗(如何查询视频号点赞时间)

    视频号点赞时间显示吗(如何查询视频号点赞时间)

  • 快对作业怎么拍照搜题(快对作业怎么拍答案)

    快对作业怎么拍照搜题(快对作业怎么拍答案)

  • qq空间注销后还能可以恢复使用吗(QQ空间注销后还能)

    qq空间注销后还能可以恢复使用吗(QQ空间注销后还能)

  • 红米k30 5g版有呼吸灯吗(红米k30呼叫等待怎么设置)

    红米k30 5g版有呼吸灯吗(红米k30呼叫等待怎么设置)

  • 华为p40是5g手机吗(华为p40是5g手机,p50不是5g)

    华为p40是5g手机吗(华为p40是5g手机,p50不是5g)

  • 苹果x面容id设置不了(iphone x面容设置)

    苹果x面容id设置不了(iphone x面容设置)

  • 苹果11怎么在照片上写字(苹果11怎么在照片上画圈)

    苹果11怎么在照片上写字(苹果11怎么在照片上画圈)

  • 喜马拉雅怎么下载到mp3

    喜马拉雅怎么下载到mp3

  • 为什么弹幕一会有一会没有(为什么有些弹幕会停留一会)

    为什么弹幕一会有一会没有(为什么有些弹幕会停留一会)

  • 大会员同时几个人登录

    大会员同时几个人登录

  • 数字电视可以投屏吗(数字电视可以投屏手机吗)

    数字电视可以投屏吗(数字电视可以投屏手机吗)

  • iphone相簿和文件夹的区别(iphone相簿文件夹转移新手机)

    iphone相簿和文件夹的区别(iphone相簿文件夹转移新手机)

  • 苹果电脑加装固态硬盘(苹果电脑加装固态教程)

    苹果电脑加装固态硬盘(苹果电脑加装固态教程)

  • 钉钉直播点赞主播能看到吗(钉钉直播点赞主播看得到吗)

    钉钉直播点赞主播能看到吗(钉钉直播点赞主播看得到吗)

  • 数据库系统的核心组成部分(数据库及其应用)

    数据库系统的核心组成部分(数据库及其应用)

  • ipad更新后开不了机怎么回事(ipad更新后不能开机怎么办)

    ipad更新后开不了机怎么回事(ipad更新后不能开机怎么办)

  • ie如何设置书签式(ie浏览器的书签栏在哪里)

    ie如何设置书签式(ie浏览器的书签栏在哪里)

  • 乐视2微信小号怎么开(乐视2手机微信不能用网络了怎么办)

    乐视2微信小号怎么开(乐视2手机微信不能用网络了怎么办)

  • Reno Ace怎么退出耳机模式(opporenoace怎么退出游戏)

    Reno Ace怎么退出耳机模式(opporenoace怎么退出游戏)

  • 饿了么发票哪里设置(饿了么发票哪里打印)

    饿了么发票哪里设置(饿了么发票哪里打印)

  • 小米8nfc功能使用方法(小米8nfc功能是什么意思怎么使用)

    小米8nfc功能使用方法(小米8nfc功能是什么意思怎么使用)

  • 华为手机查使用痕迹(华为手机查使用痕迹可以删掉吗)

    华为手机查使用痕迹(华为手机查使用痕迹可以删掉吗)

  • 抖音刷过的视频怎么找(抖音刷过的视频会缓存到手机吗)

    抖音刷过的视频怎么找(抖音刷过的视频会缓存到手机吗)

  • 图像工程:红外图像增强(红外图像识别算法)

    图像工程:红外图像增强(红外图像识别算法)

  • 开发票,对方收取税点,如何计算
  • 餐饮发票数量单价必须填吗
  • 增值税17-16-13的时间
  • 冲减暂估成本的会计分录
  • 小规模纳税人季度超过45万怎么交税
  • 短期投资有什么缺点
  • 以前年度税款需要交税吗
  • 控股股权转让
  • 新个税年终奖怎么申报
  • 外购产品对外捐赠的会计处理
  • 贷款利息进项税额
  • 分摊费用怎么说合适
  • 付给其他公司的服务费怎么记账
  • 收到的抵债资产属不属于所有者权益
  • 企业收取多年租金怎么算
  • 提前退休获得一次性补贴要交个人所得税吗?
  • 城建税按实际缴纳增值税
  • 增值税和消费税的区别和联系
  • 公司购买灯具的会计分录
  • 补交社保如何证明劳动关系
  • 小微企业必须给员工缴纳哪些保险
  • 奖金能否和工资一起发放
  • 资本公积转增实收资本个人所得税
  • 用商品抵账的会计分录
  • windows 发布时间
  • Windows10如何解压rar
  • php介绍
  • 三七粉的功效与作用及正确吃法
  • php数组函数大全
  • 微信公众平号平台
  • 生活常识 小常识
  • wordpress site
  • php文件修改后,打开还是显示以前的页面
  • php 替换字符
  • jquery 兄弟选择器
  • AttributeError: cannot assign module before Module.__init__() call
  • yum命令详解
  • 关于专利技术转让的说法
  • 增值税发票退回重开期限
  • 二手车减免增值税的规定
  • 企业之间的借款计入什么科目
  • 公司收到银行存款利息回单的会计分录
  • dedecms使用教程
  • 个人所得税其他扣除300一个月
  • 财务报表如何看
  • 个体户的税收政策
  • 新公司第一年要交什么税
  • 研发支出的账务怎么处理
  • sqlserver根据查询结果创建表
  • 增值税纳税申报实训报告
  • 企业所得税余额为负数
  • 装修行业小规模最高能开几个点的票
  • 现金流量表季度期初现金余额怎么填
  • 企业职工福利费可用于职工的医疗卫生费用
  • 关联公司之间的借款
  • 就业中心办理退工
  • 跨境汇款汇错
  • 私企干不长久
  • centos docker安装部署
  • win8分盘怎么分
  • windows10的便签纸在哪
  • win8尝试修复
  • mtr.exe
  • win7如何设置屏幕不黑屏
  • vi 技巧
  • opengl画直线函数
  • winbox app
  • js倒计时结束操作
  • 安卓游戏引擎
  • vi和vim的关系
  • pycharm怎么学
  • node.js模块
  • shell函数写法
  • pythoni脚本
  • Linuxshell脚本实现自动化软件部署内容
  • python常见的格式化输出小结
  • 浏览器工作机制
  • 简述javascript中的函数
  • 国家税务局39号公告退税
  • 东莞地税电话号码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设