Vue如何引入远程JS文件

发布时间 - 2026-01-11 00:44:32    点击率:

问题

最近在使用 Vue 做东西,用到钉钉扫描登录的功能,这里需要引入远程的 js 文件,因为 Vue 的方式跟之前的不太一样,又不想把文件下载到本地应用,找了一下解决的方法,貌似都需要引入第三方的库,最后找到了解决方案,分享之。

思路

一开始的思路是在 Vue 加载完 Dom 之后(mounted),使用 JavaScript 脚本在 body 中插入远程的脚本文件。

后来发现了 Vue 的 createElement 方法,简单的封装一个组件解决问题。

解决方法

第一版代码(直接在操作 Dom )如下:

export default {
 mounted() {
  const s = document.createElement('script');
  s.type = 'text/javascript';
  s.src = 'https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLogin.js';
  document.body.appendChild(s);
 },
}

使用 createElement 方法:

export default {
 components: {
  'dingtalk': {
   render(createElement) {
    return createElement(
     'script',
     {
      attrs: {
       type: 'text/javascript',
       src: 'https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLogin.js',
      },
     },
    );
   },
  },
 },
}

// 使用 <dingtalk></dingtalk> 在页面中调用

终极方案

通过封装一个组件 remote-js 实现:

export default {
 components: {
  'remote-js': {
  render(createElement) {
   return createElement('script', { attrs: { type: 'text/javascript', src: this.src }});
  },
  props: {
   src: { type: String, required: true },
  },
 },
 },
}

使用方法:

<remote-js src="https://g.alicdn.com/dingding/dinglogin/0.0.2/ddLogin.js">
</remote-js>

因为刚开始学习 Vue 有什么问题欢迎大家指出,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # 引入远程js  # vue.js  # 引入  # js  # 文件  # vue中引入js文件  # vue组件内部引入外部js文件的方法  # Vue项目中引入外部文件的方法(css、js、less)  # Vue框架中正确引入JS库的方法介绍  # VueJS如何引入css或者less文件的一些坑  # VUE引入第三方js包及调用方法讲解  # vue引入静态js文件的方法  # Vue中引入第三方JS库的四种方式  # VUE项目中引入JS文件的方法总结  # 有什么  # 是在  # 不太  # 找了  # 欢迎大家  # 解决问题  # 刚开始  # 又不  # 想把  # 第三方  # 解决方法  # 大家多多  # 发现了  # 找到了  # 加载  # pre  # strong 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何确保西部建站助手FTP传输的安全性?  Windows Hello人脸识别突然无法使用  黑客如何利用漏洞与弱口令入侵网站服务器?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  zabbix利用python脚本发送报警邮件的方法  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何在万网自助建站平台快速创建网站?  如何快速搭建支持数据库操作的智能建站平台?  如何基于云服务器快速搭建个人网站?  iOS发送验证码倒计时应用  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  如何打造高效商业网站?建站目的决定转化率  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  Swift中循环语句中的转移语句 break 和 continue  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  如何快速使用云服务器搭建个人网站?  PHP 500报错的快速解决方法  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel怎么为数据库表字段添加索引以优化查询  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  长沙做网站要多少钱,长沙国安网络怎么样?  微信公众帐号开发教程之图文消息全攻略  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  如何在万网利用已有域名快速建站?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  LinuxCD持续部署教程_自动发布与回滚机制  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Laravel如何使用模型观察者?(Observer代码示例)  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  开心动漫网站制作软件下载,十分开心动画为何停播?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  如何快速建站并高效导出源代码?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何彻底卸载建站之星软件?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  如何注册花生壳免费域名并搭建个人网站?  如何在建站之星网店版论坛获取技术支持?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  如何快速生成ASP一键建站模板并优化安全性?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?