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

  • 手机企业微信怎么播放ppt(手机企业微信怎么登录)

    手机企业微信怎么播放ppt(手机企业微信怎么登录)

  • 苹果7plus指纹坏了怎么办(苹果7plus指纹坏了能修吗)

    苹果7plus指纹坏了怎么办(苹果7plus指纹坏了能修吗)

  • 快手作品怎么批量隐藏(快手作品怎么批量删除掉)

    快手作品怎么批量隐藏(快手作品怎么批量删除掉)

  • 小米盒子没反应了怎么办(小米盒子没反应一直卡在开机界面)

    小米盒子没反应了怎么办(小米盒子没反应一直卡在开机界面)

  • 苹果11怎么设置热点(苹果11怎么设置双卡双待)

    苹果11怎么设置热点(苹果11怎么设置双卡双待)

  • 电脑图片怎么重命名(电脑图片怎么重名名)

    电脑图片怎么重命名(电脑图片怎么重名名)

  • 手机号注销必须去当地营业厅吗(手机号注销必须本人去营业厅吗)

    手机号注销必须去当地营业厅吗(手机号注销必须本人去营业厅吗)

  • 小米10青春版耳机没声音(小米10青春版耳机孔插不进去)

    小米10青春版耳机没声音(小米10青春版耳机孔插不进去)

  • iphone7无法安装ios13(iphone7无法安装软件)

    iphone7无法安装ios13(iphone7无法安装软件)

  • qq的人脸识别有什么作用(qq人脸识别有几次机会)

    qq的人脸识别有什么作用(qq人脸识别有几次机会)

  • 装宽带和装wifi是一样的吗(装宽带和装wifi和网络电视有什么区别)

    装宽带和装wifi是一样的吗(装宽带和装wifi和网络电视有什么区别)

  • 华为平板掉了能定位吗(华为平板电脑掉了能追踪吗)

    华为平板掉了能定位吗(华为平板电脑掉了能追踪吗)

  • 正在载入没反应(正在载入一直不动是在下载吗)

    正在载入没反应(正在载入一直不动是在下载吗)

  • 网易云音乐历史播放在哪里(网易云音乐历史头像)

    网易云音乐历史播放在哪里(网易云音乐历史头像)

  • 1000兆等于多少g流量(1000兆等于多少mbps)

    1000兆等于多少g流量(1000兆等于多少mbps)

  • 5g路由器什么意思(什么叫5g路由器)

    5g路由器什么意思(什么叫5g路由器)

  • vivo怎么设置倒计天数(vivo怎么设置倒数日在锁屏界面)

    vivo怎么设置倒计天数(vivo怎么设置倒数日在锁屏界面)

  • 通过抖音号查找手机号(通过抖音号查找对方手机号)

    通过抖音号查找手机号(通过抖音号查找对方手机号)

  • 手机怎么打出根号(手机怎么打出根号三次方)

    手机怎么打出根号(手机怎么打出根号三次方)

  • 怎样把相片内存变小(相片怎么把内存变大)

    怎样把相片内存变小(相片怎么把内存变大)

  • 如何让歌词在手机桌面(如何让歌词在手机上显示)

    如何让歌词在手机桌面(如何让歌词在手机上显示)

  • 荣耀手环3来电怎样接听(荣耀手环3来电不震动解决办法)

    荣耀手环3来电怎样接听(荣耀手环3来电不震动解决办法)

  • 华为9x有红外线功能吗(华为9x有红外线功能吗?)

    华为9x有红外线功能吗(华为9x有红外线功能吗?)

  • 闲鱼号能不能永久注销(闲鱼号能不能永久封号)

    闲鱼号能不能永久注销(闲鱼号能不能永久封号)

  • 苹果8不能插耳机吗(苹果不能插耳机吗xr)

    苹果8不能插耳机吗(苹果不能插耳机吗xr)

  • 鸿蒙OS蓝牙耳机怎么查看电量? 鸿蒙OS查看蓝牙耳机剩余电量的技巧(鸿蒙系统蓝牙耳机声音小怎么办)

    鸿蒙OS蓝牙耳机怎么查看电量? 鸿蒙OS查看蓝牙耳机剩余电量的技巧(鸿蒙系统蓝牙耳机声音小怎么办)

  • vue3的路由传参query、params以及动态路由传参(vue路由传参的几种方式)

    vue3的路由传参query、params以及动态路由传参(vue路由传参的几种方式)

  • 所得税退税账务处理
  • 印花税不通过税金及附加核算
  • 房屋契税缴纳比例
  • 本年利润期末有无余额
  • 加计抵减进项税转出需要调减吗
  • 固定资产二级科目取消原因
  • 买二手设备还需要备案吗
  • 分公司与总公司的法律关系
  • 普通发票没有明细可以吗
  • 公司代缴个税分录
  • 实际缴纳所得税时应借记什么账户
  • 企业所得税报税日期
  • 子公司注销应收母公司往来款
  • 外聘技术人员合同
  • 机器维修费的会计科目
  • 补发工资是否需要交税
  • 小规模不动产租赁税率是否减按1%
  • 长期租赁存在的主要原因为什么是节税
  • 属于资金的筹资方式是
  • 企业的其他业务是什么
  • 小规模纳税人领发票要带什么
  • 违约支付罚款计入哪里
  • 交付使用资产科目核算
  • 营业外支出期末需要结转吗
  • 2019年城建税减免政策
  • 所得税前允许列支的税金包括
  • 公司购买理财的好处有哪些
  • thinkpad x230笔记本
  • 微信聊天记录备份和恢复
  • Http请求-hutool工具类的使用
  • php在apache中有哪些工作方式
  • npp怎么安装
  • 身份证php编写
  • php怎么写数据库
  • 已经申报过的个税在哪里查看
  • 广告片影视公司
  • 购买电子承兑差额是多少
  • php5.6漏洞
  • 员工洗衣机使用制度
  • 织梦如何采集文章
  • 代扣代缴增值税附加税减免政策
  • 税金及附加如何预测
  • 现金流量表四个部分
  • 小微企业城建税减免政策
  • 可以采用
  • 集团与子公司资产的区别
  • 消防工程改造怎样入账
  • 如何评价福建省
  • 库存股属于什么账户
  • 执行迟延履行金的规定
  • 现金流量表中应收账款为负是什么意思
  • 企业成本核算项目以及成本核算流程
  • 适用于一般纳税人的税率有
  • 强制执行的款在执行局领取吗
  • 以考核为由扣除工资
  • 利息收入是不是企业的收入
  • 胶水属于什么开发工具
  • 建筑总包收到劳务合同
  • macos怎么切换桌面
  • win7系统安全在哪
  • 虚拟机怎么不能玩游戏
  • win10预览版21301bug
  • avsched32.exe是什么进程 avsched32进程有什么作用
  • win7系统连接打印机没有反应
  • win8图片查看器无法打开图片内存不足
  • win10登录界面壁纸
  • [置顶] 《精神怪谈》 后续起点
  • cocos2dx4.0教程
  • r+python
  • js设置标签内容
  • python全角半角
  • jquery数据类型
  • jquery获取浏览器宽度
  • 广西国家税务总局电子税务局官网
  • 增值税税率最新
  • 深圳发票真伪查询入口
  • 为什么医保卡显示无效
  • 武汉市国家税务总局第二稽查局
  • 税务稽查问题应对心得
  • 每个省几个市
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设