位置: 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案例教程)

  • 安全教育平台开学第一课在哪里找2021(安全教育平台开学第一课2022)

    安全教育平台开学第一课在哪里找2021(安全教育平台开学第一课2022)

  • 小米平板5怎么设置定时开关机(小米平板5怎么设置儿童限制功能)

    小米平板5怎么设置定时开关机(小米平板5怎么设置儿童限制功能)

  • 华为电脑怎么看电脑型号(华为电脑怎么看配置)

    华为电脑怎么看电脑型号(华为电脑怎么看配置)

  • 微信被禁止发消息怎么解除(微信被禁止发消息的原因)

    微信被禁止发消息怎么解除(微信被禁止发消息的原因)

  • 三星手机时间在哪里设置24小时(三星手机的时间怎么能显示大点)

    三星手机时间在哪里设置24小时(三星手机的时间怎么能显示大点)

  • 探探发消息别人收不到(探探给人发消息别人看不到)

    探探发消息别人收不到(探探给人发消息别人看不到)

  • 剪映的长视频怎么发朋友圈(剪映的长视频怎么发给微信好友)

    剪映的长视频怎么发朋友圈(剪映的长视频怎么发给微信好友)

  • xs处理器是什么的(iphonexs处理器是什么)

    xs处理器是什么的(iphonexs处理器是什么)

  • 微信暂不能绑定手机号是什么原因(微信暂不能绑定手机怎么办)

    微信暂不能绑定手机号是什么原因(微信暂不能绑定手机怎么办)

  • 电脑上插了音响没声音怎么调(电脑上插了音响没声音有滋滋的声音)

    电脑上插了音响没声音怎么调(电脑上插了音响没声音有滋滋的声音)

  • ov是什么牌子手机(ov是什么牌子手表)

    ov是什么牌子手机(ov是什么牌子手表)

  • 手机腾讯会议录屏为什么没有声音(手机腾讯会议录音)

    手机腾讯会议录屏为什么没有声音(手机腾讯会议录音)

  • 计算机病毒可能破坏硬件吗(计算机病毒可能造成的危害有哪些()? A.破坏数据)

    计算机病毒可能破坏硬件吗(计算机病毒可能造成的危害有哪些()? A.破坏数据)

  • arserver作用(arr服务)

    arserver作用(arr服务)

  • iphone如何设置相册锁(Iphone如何设置相机像素)

    iphone如何设置相册锁(Iphone如何设置相机像素)

  • qq送的礼物可以提现吗(qq送的礼物可以退回去吗)

    qq送的礼物可以提现吗(qq送的礼物可以退回去吗)

  • 华为nova5pro怎么区域截屏(华为nova5pro怎么分屏)

    华为nova5pro怎么区域截屏(华为nova5pro怎么分屏)

  • etc读卡出错怎么回事(etc读卡出错什么原因)

    etc读卡出错怎么回事(etc读卡出错什么原因)

  • 黄瓜视频又改地址了吗(黄瓜视频是不是换新地址了?)

    黄瓜视频又改地址了吗(黄瓜视频是不是换新地址了?)

  • 微信xoxo是什么意思中文(微信xoxo是啥子意思)

    微信xoxo是什么意思中文(微信xoxo是啥子意思)

  • 手机爱奇艺怎么小窗口播放(手机爱奇艺怎么扫码登录会员)

    手机爱奇艺怎么小窗口播放(手机爱奇艺怎么扫码登录会员)

  • 淘宝账期延长怎么解除(淘宝账期延长怎么设置)

    淘宝账期延长怎么解除(淘宝账期延长怎么设置)

  • pdf怎么加页码(wpspdf怎么加页码)

    pdf怎么加页码(wpspdf怎么加页码)

  • nova5和pro的区别(nova5和pro哪个好)

    nova5和pro的区别(nova5和pro哪个好)

  • 推行6s的作用是什么(推行6s的三个原则)

    推行6s的作用是什么(推行6s的三个原则)

  • 工资表怎么导入个税系统计算个税
  • 小规模企业增值税怎么申报
  • 增值税加计扣除是什么意思啊
  • 各种投资之间的关系
  • 现金流量表财务净现值怎么算
  • 转账支票一定要收款人去取吗
  • 上一年的收入少做账了该怎么调
  • 纳税人少缴税款,税务机关发现之日怎么算
  • 福利企业发放职工集资利息是不是要交个人所得税
  • 以前年度已付的现金
  • 固定资产抵扣对账怎么算
  • 企业外购的无形资产摊销,可以加计扣除吗?
  • 购买电视机产生的费用
  • 上缴税费总额包括个税吗?
  • 从农民手中购买农产品税率
  • 堤围费是什么意思
  • 增值是什么意思解释
  • 出口退免税的类型
  • 化妆品的消费税率多少
  • 10万以下免征增值税 文件
  • 个税手续费返还政策文件
  • Win11不支持鼠标宏
  • 完工转出产成品成本计算
  • win11怎么压缩图片画质
  • 电脑重装系统启动
  • 电脑进步了系统
  • 还款本息和本金哪个划算
  • PHP:mb_stripos()的用法_mbstring函数
  • 事业单位会计专业知识考什么
  • 碧峰峡熊猫基地门票
  • 增值税专用发票上注明的价款含税吗
  • 美国华盛顿山在哪里
  • 结转成本类账户到本年利润的会计分录
  • 中小微企业社保补贴
  • 应收账款为负数正常吗为什么
  • php处理304缓存
  • python里pip
  • 商品咨询服务包含什么
  • 企业收到财政补贴如何开票
  • mongo groupby
  • 借方贷方有哪些
  • 长期待摊费用核销
  • sql服务如何自动启动
  • mysql在表中添加一个新的属性
  • 银行汇票退票
  • 制造费用的结转正确的是( )
  • 税务开票金额每个月有限制吗
  • 漏扣员工年终绩效违法吗
  • 冲减以前年度营业外收入分录
  • 材料采购发生的共同费用可以按什么作为分配基础
  • 17增值税发票怎么抵扣
  • 清理固定资产是什么意思
  • 支付宝企业账户在哪里查看
  • 车票抵扣填在申请表哪里
  • 公司年底做财务报表什么吗
  • 本地发生住宿费怎么办
  • 新成立公司会计未来规划
  • 网页提示堆栈溢出怎么解决
  • ubuntu20设置wifi
  • win10的svchost干什么的
  • win7删除搜索历史记录
  • 升级win10系统后鼠标键盘无法用什么原因
  • windows勒索病毒
  • Win7系统打印机共享无法保存打印机设置0x000006d9
  • Win10打开浏览器就未响应
  • recyclerview addview
  • node.js使用教程
  • 在windows窗口中以下叙述错误的是
  • python如何配置
  • Bullet(Cocos2dx)之凸多面体形状和组合形状
  • linux多线程编程详解
  • Android 自定义view炫酷动画
  • 后缀名为是什么意思
  • jquery cookie用法
  • bootstrap要学到什么程度
  • 融资租赁利息是哪个科目
  • 销售有机肥需要什么手续
  • 陕西省国家税务局总局官网
  • 江宁市民中心周末可以办户口吗?
  • 印花税票有什么用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设