vue3+typescript引入外部文件

vue3+typescript中引入外部文件有几种方法

(eg:引入echarts)

第一种方法:

1 indext.html中用script引入

<div id="app"></div>
    <script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.common.min.js"></script>

2 在.vue页面使用,先声明后使用

复制代码
<script lang="ts">
import { Component , Vue } from 'vue-property-decorator';
declare let echarts:any;
@Component
export default class about extends Vue{
  private mounted(): void{
      this.ech();
  };
  private ech(): void{
    let lineChart =echarts.init(document.getElementById('lineChart'));

}
复制代码

这样就可以正确使用

第二种方法

1 在项目目录下 npm install @types/echarts --save(可以用@types/下载的这么写,第三种方法是不可以用@types下载的)

2 在main.ts中可以全局引入也可以局部引入

全局引入代码如下

import echarts from 'echarts';
Vue.prototype.$echarts = echarts;

 

局部引入代码如下

复制代码
let echarts = require('echarts/lib/echarts')

// 引入折线图等组件
require('echarts/lib/chart/line')
require('echarts/lib/chart/bar')
require('echarts/lib/chart/radar')

// 引入提示框和title组件,图例
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
require('echarts/lib/component/legend')
require('echarts/lib/component/legendScroll')//图例翻译滚动

Vue.prototype.$echarts = echarts
复制代码

2 在.vue页面使用

复制代码
<script lang="ts">
import { Component , Vue } from 'vue-property-decorator';
@Component
export default class about extends Vue{
   public $echarts:any;
  private mounted(): void{
      this.ech();
  };
  private ech(): void{
    let lineChart = this.$echarts.init(document.getElementById('lineChart'));
}
复制代码

第三种方法

1 1 在项目目录下 npm install vue-awesome-swiper --save

2 在shims-vue.d.ts文件添加代码

declare module 'vue-awesome-swiper' {
  export const Swiper: any
  export const SwiperSlide: any
}

代表从外部注入文件

3 剩下的同第二种方法

第四种方法

1 在项目目录下 npm install @types/echarts --save

2 在.vue页面中直接全局引入也可以按需引入

全局引入代码如下

import echarts from 'echarts';

 

局部引入代码如下

复制代码
let echarts = require('echarts/lib/echarts')

// 引入折线图等组件
require('echarts/lib/chart/line')
require('echarts/lib/chart/bar')
require('echarts/lib/chart/radar')

// 引入提示框和title组件,图例
require('echarts/lib/component/tooltip')
require('echarts/lib/component/title')
require('echarts/lib/component/legend')
require('echarts/lib/component/legendScroll')//图例翻译滚动

复制代码

2 在.vue页面使用

<script lang="ts">
import { Component , Vue } from 'vue-property-decorator';
import echarts from 'echarts';
@Component export default class about extends Vue{ 
private mounted(): void{ this.ech(); };
private ech(): void{ let lineChart = echarts.init(document.getElementById('lineChart')); }

 

不对的地方大家多多指正

 

posted @   前端先锋  阅读(14670)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示