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

  • 快手V10.2.30版本(快手v9.2.30)

    快手V10.2.30版本(快手v9.2.30)

  • 美团我的钱包在哪?(美团我的钱包在哪里找不到怎么绑定)

    美团我的钱包在哪?(美团我的钱包在哪里找不到怎么绑定)

  • 红米k30没有呼吸灯吗(红米k30没有呼吸灯怎么办)

    红米k30没有呼吸灯吗(红米k30没有呼吸灯怎么办)

  • 申诉微信没有回执编号怎么办(申诉不回微信号怎么办)

    申诉微信没有回执编号怎么办(申诉不回微信号怎么办)

  • 惠普笔记本u盘启动快捷键(惠普笔记本u盘插上找不到怎么办)

    惠普笔记本u盘启动快捷键(惠普笔记本u盘插上找不到怎么办)

  • alphabet是什么公司

    alphabet是什么公司

  • 苹果可以改微信名吗(苹果可以改微信定位吗)

    苹果可以改微信名吗(苹果可以改微信定位吗)

  • 终止正在演示的幻灯片放映可以按什么键(终止正在演示的幻灯片放映可以按什么键用大写字母表示)

    终止正在演示的幻灯片放映可以按什么键(终止正在演示的幻灯片放映可以按什么键用大写字母表示)

  • 电脑为何开不了机(电脑为何开不了机黑屏)

    电脑为何开不了机(电脑为何开不了机黑屏)

  • 充电接口松动及插不紧的解决方法(充电接口松动及处理方法)

    充电接口松动及插不紧的解决方法(充电接口松动及处理方法)

  • 优酷弹幕怎么没了(优酷弹幕怎么没有了电脑显示)

    优酷弹幕怎么没了(优酷弹幕怎么没有了电脑显示)

  • 手机录屏能录多久(手机录屏最多可以录多少分钟)

    手机录屏能录多久(手机录屏最多可以录多少分钟)

  • 怎样更新钉钉新版本(怎样更新钉钉新版本系统)

    怎样更新钉钉新版本(怎样更新钉钉新版本系统)

  • ipadair支持4g网络吗(ipad air4有4g)

    ipadair支持4g网络吗(ipad air4有4g)

  • i7是第几代(12核i7是第几代)

    i7是第几代(12核i7是第几代)

  • 硬盘录像机资源不足(录像带转存电脑的方法)

    硬盘录像机资源不足(录像带转存电脑的方法)

  • ipone11什么时候大陆预售(苹果11什么时候停产)

    ipone11什么时候大陆预售(苹果11什么时候停产)

  • ud什么意思(icloud什么意思)

    ud什么意思(icloud什么意思)

  • qq音乐的收藏mv在哪(qq音乐的收藏如何转到酷狗音乐)

    qq音乐的收藏mv在哪(qq音乐的收藏如何转到酷狗音乐)

  • 打电话显示关机是什么原因(打电话显示关机是什么意思)

    打电话显示关机是什么原因(打电话显示关机是什么意思)

  • 三星s8唤醒屏幕设置(三星s8唤醒功能在哪里?)

    三星s8唤醒屏幕设置(三星s8唤醒功能在哪里?)

  • Mac怎么连接蓝牙鼠标? Mac配对MagicMouse鼠标的教程(mac怎么连接蓝牙鼠标)

    Mac怎么连接蓝牙鼠标? Mac配对MagicMouse鼠标的教程(mac怎么连接蓝牙鼠标)

  • 【微信小程序】-- 表单组件 - picker 实现日期选择器(五十三)(微信小程序游戏手游排行榜)

    【微信小程序】-- 表单组件 - picker 实现日期选择器(五十三)(微信小程序游戏手游排行榜)

  • vue3中使用axios(vue3中使用window方法)

    vue3中使用axios(vue3中使用window方法)

  • 个体工商户增值税优惠政策2023
  • 原材料报废可以退税吗
  • 合同取得成本属于
  • 小区业委会是否可以进行经营活动?
  • 新成立的公司企业所得税怎么申报
  • 国家相关规定出车补助的文件
  • 房产税的原值是如何确定的
  • 属于期间费用抵减项目
  • 公司活动发言稿范文
  • 无形资产土地的入账价值包括哪些
  • 图文解析定期定额小规模纳税人怎么申报?
  • 案例分析个人心得体会
  • 案例分析正当防卫
  • 固定资产取得方式A04代号
  • 机动车辆发票如何认证?
  • 合伙创业如何分配财产
  • 会员卡系统多少钱一套
  • 苹果手机发票要验证码吗
  • 什么经营范围可以开培训费
  • 发票专用章是个人
  • 累计结转是什么意思
  • 高新技术企业研发人员学历要求
  • 认缴出资未缴纳公司可以减资吗
  • 即征即退的增值税计入其他收益吗
  • php for in
  • win7命令提示符怎么打开
  • win10系统日志在哪个文件夹
  • 如何关闭win11系统
  • 职业病治疗费用谁承担
  • 劳务的完成程度可以采用如下方法确定
  • php fwrite函数
  • php多维数组合并相同key
  • 纳税人解除劳动合同补偿
  • wordpress相关文章
  • 往来款项账务处理
  • 一只正在树上吃的苹果
  • 收到无法支付的押金收入
  • php file_get_contents smb
  • php验证身份证号
  • yolov5目标检测流程图
  • 劳务费发票差额征税
  • tensorflow gui
  • 研发支出的相关理论基础有哪些
  • 利润表中其他收益是什么
  • 开出租车怎么租车
  • 全国通用机打销售票真伪
  • 常见数据库系统软件
  • 存货成本主要包括
  • 支付技术研究开发费
  • 公司涉及研发房怎么办
  • 银行存款的收付应严格执行()的规定
  • 公允价值变动损益是什么意思
  • 企业的固定资产由于技术进步等原因
  • 劳务派遣服务怎么做会计分录
  • 工程物资属于存货还是固定资产
  • 什么是活页式账户
  • ie标签页
  • centos 离线安装git
  • xp系统如何去掉开机登陆界面
  • xp硬盘安装win7系统教程
  • dropbox windows
  • 在操作系统中如何创建一个新的用户
  • win10系统怎么设置默认打印机
  • win10系统怎样卸载程序
  • 在linux系统中
  • linux conio
  • linux内核文件夹
  • awk命令使用什么变量存储行号
  • 批处理 输出换行
  • shell截取字段
  • 批处理模式
  • unity c#开发
  • 安卓手机怎么导入地图
  • Python中断言语句
  • unity c+
  • JavaScript中的事件处理
  • 东莞为什么这么多人
  • 税务局落实双拥工作情况报告
  • 如何加强木材加工质量
  • 国税局江西省税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设