Vue文件中如何导入外链JS文件?

今天想尝试一下iconfont的symbol用法,就复制了js的外链准备看看效果。
结果呢,importrequire写法一直报错

import '//at.alicdn.com/t/font_1451815_senarwrqu6.js'

// error
This dependency was not found:

* //at.alicdn.com/t/font_1451815_senarwrqu6.js in ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script&index=0!./src/components/roll.vue

To install it, you can run: npm install --save //at.alicdn.com/t/font_1451815_senarwrqu6.js

是我写代码的姿势有问题?还是我的配置姿势不对导致插入失败?

百般无奈使用了百度大法,输入框键入Vue文件如何导入外链JS?
结果出来的都是导入项目内的JS,import...from...啥啥啥的。

百度无效,自己想了一个办法。
模板template中不允许直接写入script标签,那么我写一个组件插入好了,于是写了以下

Vue.component('my-script', {
  render: function (createElement) {
    return createElement('script', {
      attrs: {
        type: 'text/javascript',
        src: this.src
      }
    })
  },
  props: {
    src: {
      type: String,
      required: true
    }
  }
})

// template
<my-script src="//at.alicdn.com/t/font_1451815_senarwrqu6.js"></my-script>

这个时候才正确的加载成功。

觉得这种写法太过繁琐,一定有直接可以导入的easy方法但是我没有找到,各位走过路过的大佬,告诉我一哈

阅读 4.8k
1 个回答
新手上路,请多包涵

在Vue单文件组件中,使用import引入外部文件,可以这样写:
import '//at.alicdn.com/t/font_1451815_senarwrqu6.js'
在Vue单文件组件中,使用require引入,可以这样写:
require('//at.alicdn.com/t/font_1451815_senarwrqu6.js').
此外,Vue单文件组件一般包含三部分:
(1)<template></template>
(2)<script></script>
(3)<style></style>
你可以把需要引入的外部js文件,写在<script></script>里。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题