位置: 编程技术 - 正文

加载 vue 远程代码的组件实例详解(vue远程调用组件)

编辑:rootadmin

推荐整理分享加载 vue 远程代码的组件实例详解(vue远程调用组件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:systemjs 加载远程 vue组件,vue输入框远程搜索,vue加载外部html,vue远程动态编译,systemjs 加载远程 vue组件,vue远程调试,vue远程加载模块,vue远程加载模块,内容如对您有帮助,希望把文章链接给更多的朋友!

在我们的 vue 项目中(特别是后台系统),总会出现一些需要多业务线共同开发同一个项目的场景,如果各业务团队向框架中提供一些私有的展示组件,但是这些组件并不能和框架一起打包,因为框架不能因为某个私有模块的频繁变更而重复构建发布。在这种场景下我们需要一个加载远程异步代码的组件来完成将这些组件加载到框架中。

vue-cli 作为 Vue 官方推荐的项目构建脚手架,它提供了开发过程中常用的,热重载,构建,调试,单元测试,代码检测等功能。我们本次的异步远端组件将基于 vue-cli 开发。

需求分析

如何加载远端的代码&#; 如何注册加载后的代码到框架中。 父组件如何和远端引入的组件通信。 远端代码如何复用框架中已引入的库。 避免因远端代码被类似 v-for 多次调用导致的不必要请求。

加载远端代码

远端代码应该存储在一个可访问的 URL 上,这样我们通过 Axios 类似的 HTTP client 请求这个链接拿到源码。

以上是基础代码 为了方便 一下例子中 我将省略重复的代码部分。

注册代码到框架中

这部分有些繁琐,涉及到多个问题:

浏览器并不支持 .vue 模板 或 ES.next 语法,模块需要编译后才可以使用。

处理这部分比较简单,我们自己定义一个webpack配置文件来打包这些模板。

至此我们的模块已经被编译成框架可以识别的文件。

1.如何将字符串转换成js对象。

加载 vue 远程代码的组件实例详解(vue远程调用组件)

1.转换后的js对象并不能被vue识别。

有两种可能会导致这个问题:

至此 远程组件就被引入到框架中了。

父组件如何和远端引入的组件通信

这里有一个问题,从 view组件 到 远程异步加载组件 再到 实际业务组件 通信一共三层,中间层 远程异步组件 作为公共组件不可被修改,需要 view组件 直接向 实际业务组件 通信。vuex 和 eventBus 方案都过于繁琐,这里我们采用 $attrs 和 $listeners(vue v2.4+), 来实现 “fallthrough”(vue组件跨层级通信)。

远端代码如何复用框架中已引入的库

我们不希望看到远端组件和框架中存在较大库或插件的重复的引入,这部分内容尚处在实践阶段,主要思路是把公共库挂载到Vue原型链上实现组件公共复用 Vue.prototype.$xxx。

引入的远程组件可以访问到框架中的公共包了,这时候还需要配置 webpack 使远程组件打包时不要包含公共包的代码。

避免因远端代码被类似 v-for 多次调用导致的不必要请求。

这部分我们直接用一个全局变量做字典,存储 以 请求地址:数据 为子项的数组。

至此,异步远程组件就可以加载并和框架进行通信了。

本文中的源码请访问 github 获取,组件已经发布到NPM 上,可以直接安装。

总结

以上所述是小编给大家介绍的加载 vue 远程代码的组件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

JavaScript框架Angular和React深度对比 本文通过从概念和使用思路上的车别,详细给读者分析了Angular和React这两个JavaScript框架的区别之处,希望我们整理的对你有用。Angular和React这两个JavaScr

webpack+vue中使用别名路径引用静态图片地址 webpack的别名好处大家也都了解,但是vue的模板中,对图片地址使用别名时总出现问题,很久时间的时间都没找到解决办法,一度认为是webpack的原因...alias:{'src

详解Vue + Vuex 如何使用 vm.$nextTick vm.$nextTick简单说,因为DOM至少会在当前tick里面的代码全部执行完毕再更新。所以不可能做到在修改数据后并且DOM更新后再执行,要保证在DOM更新以后再

标签: vue远程调用组件

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

上一篇:详解如何将 Vue-cli 改造成支持多页面的 history 模式(vue-cal)

下一篇:JavaScript框架Angular和React深度对比(javascript框架库升级)

  • 全国增值税发票查询平台 手机版
  • 小微企业要做企业年金吗
  • 政府预算会计怎样调整跨年度结转
  • 购买水果属于什么费用
  • 小规模纳税人开票税率
  • 个人所得税减除费用6万元什么意思
  • 测试收入的钱怎么用
  • 其他应付款无法支付规定
  • 贸易公司成本核算不准确的后果
  • 个体户3万免税免的是哪些税
  • 去年的增值税普票能作废吗?
  • 有限合伙企业利润先税后分
  • 辞退员工补偿的月平均工资如何计算
  • 自然人纳税人识别号查询
  • 个体工商户怎么注销
  • 营改增后建筑业怎么开票
  • 有限合伙企业jp
  • 终止合同后原合同怎么处理
  • 公司购买工装计入什么费用
  • 建筑业分项目核算会计账务处理
  • 发票抵扣联做进项税入账处理是怎样的?
  • 营改增后哪些进项不能抵扣
  • 企业所得税税负怎么算
  • 国家税务总局关于取消增值税扣税凭证
  • 收到管理费用的会计科目
  • 研发部门的办公费属于研发费的哪个类别
  • 货运发票与运输发票的区别
  • 投资的子公司亏损注销
  • 公允价值变动损益借贷方向
  • 鸿蒙系统如何添加信任软件
  • 原材料和加工费能分着开票么
  • 未开票收入怎么计算增值税
  • 联想一体机如何调节屏幕亮度
  • 双网卡冲突会发生什么现象
  • 建安混合销售能分开吗
  • PHP:pcntl_sigprocmask()的用法_PCNTL函数
  • 材料退款会计分录
  • web十六进制颜色
  • top命令可以看到哪些信息
  • 企业研发支出的最佳占比
  • 无追索权有哪些类型
  • 增值税进项加计抵减账务处理
  • js数组 filter
  • 以前年度多计提折旧
  • 坏账准备的计提金额怎么算
  • mssql使用教程
  • php判断数据库用户名是否存在
  • 红字专用发票能作废吗
  • 建筑业成本核算流程
  • 制造车间买来刀具怎么办
  • 营改增后材料价差调整
  • 企业所得税的征税对象和纳税人分别负有的纳税义务
  • 票种核定啥意思
  • sqlserver日期加减月份
  • 软件产品增值税即征即退
  • 其他业务支出的借贷方向
  • 筹建期间发生的长期借款利息费用计入财务费用
  • 发票优惠金额怎么开
  • 租车费报销管理规定
  • 外贸公司出口退税实例
  • 领用材料属于什么会计分录
  • mysql分表实践
  • 由于这台计算机没有远程客户端访问许可证
  • 如何激活windows2008server
  • Fedora Core 5.0 安装教程,菜鸟图文版(图文界面)
  • win7注册表修改开机密码
  • winxp/win7/win2003 电脑开机密码设置图文方法
  • win7误删我的文档
  • Intermediate Unity 3D for iOS: Part 1/3
  • 贝塞尔曲线pr怎么用
  • python多线程代码
  • python读取grib
  • python编程中的函数
  • Ext JS 4官方文档之三 -- 类体系概述与实践
  • unity uGUI按钮点击换图
  • python 字符串
  • 北京国税发票查询真伪查询
  • 青岛已开通几条地铁线路
  • 12366电子税务局重庆
  • 苏宁易购股份转增股本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设