Vue组件中如何引入外部的js文件

html页面引入另一个html页面01 在使用华丹智能WEB报表快速开发平台的过程中,想要自己重新制作一个登陆注册页面,并且想要在登陆和注册页面的顶部和底部固定样的内容样式,这时考虑到第一个方案:两个独立页面,每个页面都包含顶部和底部的内容,这样如果后期维护,修改顶部或者底部的信息,就需要修改两个文件,如果以后有其他需求,维护不方便,所以搜索了一下相关技术,进行总结了几种使用文件引入的方式。(文中代码都是测试代码) 1、使用import引入(中引入文件,<!DOCTYPE html> <html> <head&gt 阅读详情

背景

在Vue中,通常我们引入一个js插件都是使用npm 方式下载然后import使用的。但是我现在本地有了js文件或者是一个远程js文件链接,我不想使用npm install xxx 的方式,有什么办法吗?

方式一

简单粗暴,直接在Vue项目的index.html 中使用全局的方式引入,比如:

<!DOCTYPE html><html><head>
    <!-- ... 省略-->

    <title>测评</title>

    <link type="text/css" href="//at.alicdn.com/t/font_43459_d124thd3lgu.css" rel="stylesheet">
    {{ie9 /resources/js/history.min.js}}</head><body>
    <div id="cp-app" v-cloak></div></body><script src="../xxx.js"></script> // 暴力引入</html>

缺点:不使用该js插件的组件也会加载,而我只想在某个Vue组件中使用该js插件。

方式二

如果是下载到本地的静态文件,可以使用import 的方式导入。

import { xxx } from '../js/xxx.js' //注意路径

缺点:下载的本地静态文件才可以,远程js文件不可以。

方式三

在Vue组件加载完后,手动操作DOM插入js插件。

export default {
    mounted() {
        let script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = '你的js文件地址';
        document.body.appendChild(script);
    },}

该方式直接操作DOM,只在当前组件插入js插件。

方式四

使用render方法。

export default {
    components: {
        'xxx-js': {
            render(createElement) {
                return createElement(
                    'script',
                    {
                        attrs: {
                            type: 'text/javascript',
                            src: '你的js文件地址',
                        },
                    },
                );
            },
        },
    },}// 使用 <xxx-js></xxx-js> 在页面中调用

使用的时候,使用 <xxx-js></xxx-js> 在页面中调用。

方式五

高阶玩法。将方式三包装成一个js插件,使用 Promise,js加载成功,调用resolve,js加载失败,调用reject。

function loadJs(src) {
  return new Promise((resolve,reject)=>{
    let script = document.createElement('script');
    script.type = "text/javascript";
    script.src= src;
    document.body.appendChild(script);
      
    script.onload = ()=>{
      resolve();
    }
    script.onerror = ()=>{
      reject();
    }
  })}
 export default loadJs

使用的时候:

import loadJs from './loadJs'
   export default {
    mounted(){
        loadJs('http://api.map.baidu.com/xxx.js').then(()=>{
            // 加载成功,进行后续操作        })
    }}

方式六

更高阶方式。可以动态替换要加载的js文件。

包装一个importJs.js 插件。

// 导入外部jsimport Vue from 'vue'
 Vue.component('remote-script', {
  render: function (createElement) {
    var self = this;
    return createElement('script', {
      attrs: {
        type: 'text/javascript',
        src: this.src
      },
      on: {
        load: function (event) {
          self.$emit('load', event);
        },
        error: function (event) {
          self.$emit('error', event);
        },
        readystatechange: function (event) {
          if (this.readyState == 'complete') {
            self.$emit('load', event);
          }
        }
      }
    });
  },
  props: {
    src: {
      type: String,
      required: true
    }
  }});

使用方式:

// 引入import 'common/importJs.js'// html使用的地方<remote-script src="https://pv.sohu.com/cityjson?ie=utf-8"></remote-script>

(完)

vue组件内部引入外部js文件的方法 之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位。如果放在index.html,这样每个组件都会有这个js。所以需要在组件内单独引入。 第一种操作 Dom引入js: export default { mounted() { const s = document.createElement('script'); s.type = 'text/javascript'; s.src = '你的需要的js文件地址'; document.body.appendChild(s); }, } 第二种使用 createElement 方法: export default 立即下载

相关推荐

Vue如何引入远程JS文件

问题 最近在使用 Vue 做东西,用到钉钉扫描登录的功能,这里需要引入远程的 js 文件,因为 Vue 的方式跟之前的不太一样,又不想把文件下载到本地应用,找了一下解决的方法,貌似都需要引入第三方的库,最后找到了解决方案,分享之。 思路 一开始的思路是在 Vue 加载完 Dom 之后(mounted),使用 JavaScript 脚本在 body 中插入远程的脚本文件。 后来发现了 Vue 的 createElement 方法,简单的封装一个组件解决问题。 解决方法 第一版代码(直接在操作 Dom )如下: export default { mounted() { const s =

vue组件内引入外部js, 外部js调用组件内的方法

test.js 为主js文件,里面引入了a.js和b.js文件 2.2 module.exports 导出方法 3. vue 组件中使用 3.1 引入test.js文件 3.2 在methods中定义方法调用 4. 外部js调用vue组件中的方法 此处分为两种可能: 4.1.2 外部js方法中接受参数 test.js 组件中定义test1()方法 4.2 方式二 4.2.1 方法赋值给window vue中组件: 4.2.2 window调用 外部js文件test.js: 使用 window.te

二十一克阳光!的博客 1万+

华为Atlas200DK实战指南:从零搭建AI开发环境到人像语义分割模型部署

本文提供了一份详尽的华为Atlas 200DK AI开发环境搭建与模型部署实战指南。文章采用合设环境方案,从SD卡准备、系统镜像烧录、网络配置到必备工具安装,逐步引导开发者完成环境搭建。核心部分详细讲解了如何利用华为ATC工具将TensorFlow模型转换为昇腾专用格式,并最终成功编译和运行人像语义分割模型,实现实时人像识别效果。

weixin_29309213的博客 356

Vue 组件中如何引入外部的js文件 的10种方法

原型链扩展,将外部的JavaScript文件扩展到Vue实例的原型链上,适用于多个组件都需要使用外部JavaScript文件的情况。这种方法可以将外部JavaScript文件的方法和属性混入到所有的Vue组件中,使得所有的组件都可以使用这些方法和属性。标签中使用插件的方式异步引入外部的JavaScript文件,适用于需要按需加载外部JavaScript文件的情况。方法,异步引入外部的JavaScript文件,适用于需要按需加载外部JavaScript文件的情况。语句的路径指定具体的文件位置。

一步一个脚印,踏实努力,向着目标前进 2万+

从零到一:uniPush2.0全链路集成与多厂商通道配置实战

本文提供了uniPush2.0从零开始的全链路集成与多厂商通道配置实战指南。详细讲解了DCloud平台配置、uniCloud云函数开发、客户端CID获取与消息监听,并重点攻克了华为、小米、OPPO、vivo等主流厂商推送通道的配置难点与避坑技巧,帮助UniApp开发者实现“一次集成,全端覆盖”的高效消息推送方案。

onion的博客 431

工业级24V电源保护电路深度解析:五重防护机制详解

自恢复保险丝(PPTC,Positive Temperature Coefficient)是一种过流保护元件✅可恢复:过流后自动恢复,无需更换⚡响应快:电流超标立即动作🔄多次使用:在额定范围内可反复使用第1层(F1):阻挡过流 → 物理熔断第2层(D3):吸收浪涌 → 能量泄放第3层(Q1):防止反接 → 逻辑阻断第4层(Q2/Q3):抵御过压 → 主动切断第5层(CR):平滑启动 → 时序控制设计哲学:"让每一级保护专注做好一件事"通过这篇文章,我们深入理解了:✅自恢复保险丝。

qq_58068673的博客 3570

vue当前页引入js_vue组件内部怎么引入外部js文件?

之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位。如果放在index.html,这样每个组件都会有这个js。所以需要在组件内单独引入。第一种操作 Dom引入js:export default {mounted() {const s = document.createElement('script');s.type = 'text/javascript';s.src = '你的需要的j...

weixin_39615643的博客 2825

西南交通大学车辆工程专业大四上车辆综合实训ame仿真部分

西南交通大学车辆工程专业大四上车辆综合实训ame仿真建模部分

qq_64814052的博客 1245

vue引入外部组件_vue组件内部引入外部js文件的方法

之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位。如果放在index.html,这样每个组件都会有这个js。所以需要在组件内单独引入。第一种操作 Dom引入js:export default {mounted() {const s = document.createElement('script');s.type = 'text/javascript';s.src = '你的需要的j...

weixin_39739170的博客 1596

Reeds-Shepp曲线公式推导及代码实现-第三部分(共三部分)

根据原始起点的坐标和航向,将上一小节计算出来的局部进行整体的平移和旋转(与归一化的步骤刚好相反),最终得到全局路径的轨迹。根据计算出来的路径,选择路径最短的轨迹(也可根据我们实际的需要定制选优规则),作为最终的轨迹输出。Reeds-Shepp曲线公式推导及代码实现-第一部分(共三部分)Reeds-Shepp曲线公式推导及代码实现-第二部分(共三部分)的值进行等步长插值,得到每段轨迹对应的生成一系列插值距离列表。根据上一步生成的插值距离列表的值,计算其对应的局部位姿值。后,我们需要根据字段类型(

jianmo的博客 1088

PCB层叠结构与阻抗计算

1.Core 和 PP PCB两个重要组成部分:Core 和 Prepreg(半固态片,简称PP)。 如下图所示, Core 的两个表面都铺有铜箔,可作为信号层、电源层、地层等导电层,Core的上下表面之间填充的是固态材料; PP的表面不铺铜,在PCB中起填充作用,其材质是半固体的树脂材料,因此比Core略软一些。 在制作多层板时,需配合使用Core和PP,一般在两个Core 之间应选PP作为填...

sinat_15677011的博客 1万+

Vue 组件中如何引入外部的js文件

在Vue中,通常我们引入一个js插件都是使用npm方式下载然后import使用的。但是我现在本地有了js文件或者是一个远程js文件链接,我不想使用的方式,有什么办法吗?

grootbaby 7159

赛豆科技 AIVA 汽车智能体架构演进面试题与答案

摘要 赛豆科技AIVA汽车智能体架构从座舱AI演进到整车智能体,最终实现自进化的超级智能体。其核心是"先有AI再有车"的理念,将AI作为产品主轴而非附加功能。架构设计采用端-边-云协同,确保低延迟响应;整车智能体通过Planner、Tool Registry等关键组件实现自主决策;自进化机制结合车端个性化学习和云端群体学习,并设置多重安全验证。多域协作采用分层架构,关键安全功能仍由确定性逻辑控制。该架构实现了从被动响应到主动服务的范式转变,使车辆能够持续进化。

AI天才研究院 121

vue 页面引入多个内部js_vue组件内部引入外部js文件

之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位。如果放在index.html,这样每个组件都会有这个js。所以需要在组件内单独引入。第一种操作 Dom引入js:export default {mounted() {const s = document.createElement('script');s.type = 'text/javascript';s.src = '你的需要的j...

weixin_29290259的博客 1342

YOLOv11改进策略【Neck】| arXiv 2025 分层多头注意力HMHA 子空间拆分提多样 + 通道重排降冗余,强化目标检测精度

HMHA(Hierarchical Multi-Head Attention,分层多头注意力)旨在解决传统多头注意力(MHA)在图像恢复任务中的核心缺陷——特征冗余。传统MHA将通道均匀拆分给各个头,导致不同头学习的子空间信息相似,进而出现多头关注同一区域、忽略退化区域修复的问题,限制了模型的特征表达能力。HMHA通过“分层子空间拆分+通道重排序”策略,让每个头学习差异化、互补的上下文特征,从根源上缓解冗余,提升图像恢复任务中对复杂退化场景的特征捕捉能力。

Limiiiing的博客 779

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Vue组件引入外部的js文件的某方法或者静态数据

遇到问题 我们有时候会把一些公共方法写到一个单独的js文件,这样方便多处使用该方法,也很方便找到或者修改方法。 例:我们在写项目的时候会遇到加载本地城市列表的数据,如果放到vue组件里,是极其的不方便,我们来看看怎么解决这个问题。 解决方法 引入js的某个方法 方法一 1.在公共js里写方法并export导出。 export function add(a) { let b = 2; return a+b; } 2.在组件 import 引入。 import { add } from '../.

AnnaF的博客 7703

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

cli vue 外部js 引入 文件_javascript - vue cli构建的项目中,vue组件里怎么引入外部js文件里的方法...

问 题我想在content组件里调用外部js(test.js)里的diyfun方法,怎么实现呢?我的content组件代码:Clickexport default {data () {return {testvalue: ''}}}我的test.js代码:console.log('Test info')function diyfun() {console.log('Success')}我知道可以将...

weixin_29025501的博客 651

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

vue 引入外部js静态文件

在一个组件内部需要引入一个js文件,如果放在index.html,每个组件都会有这个js,所以需要在组件内单独引入。 下载静态文件下来后,放入文件夹: 组件代码: <template> <div> <button @click="compressImage">点击调用方法</button> </div> </template> <script> import ImageCompressor from '@/

且听风吟的博客 3228

vue 引入原生js_Vue组件中如何引入外部js文件,动态插入js文件,vue引入百度地图api...

最近项目中需要引入百度地图api的js文件,刚开始想这还不简单,直接通过script引入,结果发现不行vue不支持下面的引入方式exportdefault{....}vue中引入js需要通过import,因此考虑写一个动态加载js的功能,可以结合Promise,js加载成功,调用resolve,js加载失败,调用rejectloadJs,传入要加载的js地址functionloadJs(src...

weixin_39623620的博客 1118

vue cli构建的项目中,vue组件里怎么引入外部js文件里的方法

content组件代码: <template> <div> <input ref='test' id="test"> <button @click='diyfun'>Click</button> </div> </template> <script> import {...

u010565037的博客 2506

vue 引入原生js_vue组件内部引入外部js文件的方法

之所以要做这个是因为,在一个组件内部需要引入一个js文件来定位。如果放在index.html,这样每个组件都会有这个js。所以需要在组件内单独引入。第一种操作 Dom引入js:export default {mounted() {const s = document.createElement('script');s.type = 'text/javascript';s.src = '你的需要的j...

weixin_39622217的博客 1037
上一篇: epub.js电子书的使用及VUE注意事项
下一篇: vue组件内引入外部js, 外部js调用组件内的方法
springdk2009
博客等级 码龄17年 1835粉丝 257原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值