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

  • 华为mate40pro像素大小(华为Mate40pro像素模糊怎么办)

    华为mate40pro像素大小(华为Mate40pro像素模糊怎么办)

  • 快手回收站在哪里(快手如何找回收藏的视频)

    快手回收站在哪里(快手如何找回收藏的视频)

  • 钉钉如何申请圈子(钉钉如何申请圈内好友)

    钉钉如何申请圈子(钉钉如何申请圈内好友)

  • 小米airdots青春版和红米airdots有何区别(小米airdots青春版)

    小米airdots青春版和红米airdots有何区别(小米airdots青春版)

  • 微信朋友圈怎么设置更多信息(微信朋友圈怎么关闭)

    微信朋友圈怎么设置更多信息(微信朋友圈怎么关闭)

  • 如何测试微信好友是否删除或者拉黑了自己(如何测试微信好友是否删除自己)

    如何测试微信好友是否删除或者拉黑了自己(如何测试微信好友是否删除自己)

  • 淘宝视频一直待审核(淘宝视频不动是怎么回事)

    淘宝视频一直待审核(淘宝视频不动是怎么回事)

  • 抖音怎么隐藏评论(抖音怎么隐藏评论不让别人看到)

    抖音怎么隐藏评论(抖音怎么隐藏评论不让别人看到)

  • 腾讯会员能有几个人登录(腾讯会员能有几个人去看)

    腾讯会员能有几个人登录(腾讯会员能有几个人去看)

  • 是不是所有的华为手机都有录屏(是不是所有的华为手机都有学生模式)

    是不是所有的华为手机都有录屏(是不是所有的华为手机都有学生模式)

  • 苹果手机短信怎么备份(苹果手机短信怎么拉黑对方)

    苹果手机短信怎么备份(苹果手机短信怎么拉黑对方)

  • 退货天猫积分会退吗(退货天猫积分会退回吗)

    退货天猫积分会退吗(退货天猫积分会退回吗)

  • axmp是什么(axmp12是什么意思)

    axmp是什么(axmp12是什么意思)

  • wps国际版和国内版的区别(wps国际版app)

    wps国际版和国内版的区别(wps国际版app)

  • 微信发不出去是被拉黑了吗(发错微信超过2分钟撤不回怎么办)

    微信发不出去是被拉黑了吗(发错微信超过2分钟撤不回怎么办)

  • ps怎么弄条形码(ps中条形码怎么做)

    ps怎么弄条形码(ps中条形码怎么做)

  • null视频怎么打开(null格式的视频)

    null视频怎么打开(null格式的视频)

  • boss直聘账号被锁定怎么办(Boss直聘账号被锁定申诉信息怎么写)

    boss直聘账号被锁定怎么办(Boss直聘账号被锁定申诉信息怎么写)

  • 索尼降噪豆怎么用(索尼降噪豆怎么重置)

    索尼降噪豆怎么用(索尼降噪豆怎么重置)

  • 苹果xr可以自拍吗(苹果xr自拍怎么放大)

    苹果xr可以自拍吗(苹果xr自拍怎么放大)

  • ⅵvo手机截屏在哪里可以找到(vivo手机截屏在哪里找)

    ⅵvo手机截屏在哪里可以找到(vivo手机截屏在哪里找)

  • 苹果手机如何下载应用宝(苹果手机如何下软件)

    苹果手机如何下载应用宝(苹果手机如何下软件)

  • cpqeadm.exe是什么进程 可以关闭吗 cpqeadm进程查询

    cpqeadm.exe是什么进程 可以关闭吗 cpqeadm进程查询

  • Diffusion扩散模型学习1——Pytorch搭建DDPM实现图片生成(diffusion扩散模型训练时间)

    Diffusion扩散模型学习1——Pytorch搭建DDPM实现图片生成(diffusion扩散模型训练时间)

  • react-router6.4+的项目种路由实现方式(列举两种)

    react-router6.4+的项目种路由实现方式(列举两种)

  • 递延收益与递延所得税负债的区别
  • 企业困难有哪些
  • 小微企业免税销售额是按1%还是3%
  • 财务报表申报错误怎么办
  • 生物性资产折旧吗
  • 现金股利和股票股利的区别
  • 银行质押贷款会查征信吗
  • 网银年费属于财务费用哪一项
  • 财税[2016]140号文逐条解读
  • 个体工商户在税法规定的享有免税优惠的期限内
  • 企业自用房产出售怎么交税
  • 项目地预交企业所得税分录如何处理?
  • 集体福利是否可以抵税
  • 出口退税增值税发票稽核信息
  • 征信费用会计分录
  • 公司员工结婚礼金规定
  • App Store可以退款吗
  • 0x000000a5蓝屏代码是什么意思
  • 贷款减值准备和减值准备支出的区别
  • 党团活动经费如何节约
  • 施工企业内部往来核算方法包括( )
  • deepin怎么删除账户
  • php生成php文件
  • 违约金列支
  • php多进程处理大数据
  • laravel框架中文手册
  • 加计扣除减免政策
  • cqi映射表
  • php ffi 性能
  • 总账是按年还是按月结账
  • 账本过次页的视频
  • php自定义变量的方法是
  • css获取id
  • diff命令参数
  • 浅谈建筑地基基础加固施工技术亲
  • bg命令 将作业放到后台运行
  • 增值税普通发票税率
  • 诉讼费发票丢失可以补开吗
  • 购进固定资产的进项税计入成本吗
  • php 队列
  • 厂房出租一年多少钱
  • 动态规划知乎
  • 企业所得税成本核定
  • 房地产开发企业成本核算方法
  • 固定资产清理往报表哪列示
  • mysql show privileges
  • 怎样计提税金及附加
  • 盘盈盘亏怎么看
  • 公司充话费
  • 银行账跨年一直没做怎么补
  • 营改增后租金收入交什么税
  • 摊销费用用什么凭证
  • 小规模纳税人营改增税率
  • 委托生产产品
  • 工会会费收入计入会计科目
  • 现销和赊销加一起等于销售收入吗
  • 仓库做账应该注意些哪些事项
  • 发票抬头是个人税号怎么填
  • 工业企业固定资产投资
  • sap批量导入
  • win7回收站路径在哪里
  • centos下载安装
  • Linux系统中的pycharm怎么打开
  • 一打字就出现windows设置
  • win8 怎么样
  • windows7桌面回收站打不开
  • 笔记本运行WINCC不显示全屏
  • win10预览版21277
  • windows8如何进入bios
  • perl中qw
  • cocos2d怎么用
  • nodejs发送post请求socket hand up
  • shell if语句的用法
  • python进行爬虫
  • node ffi
  • 安卓端数据库
  • javascript运用
  • 河北省国家税务局长简介
  • 纳税信用等级C怎么调整
  • 豪车消费税的征税范围
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设