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')); }
不对的地方大家多多指正