uniapp和vue3+ts开发小程序,使用vscode提示声明变量冲突解决办法

在uniapp中,我们可能经常会遇到需要在不用的环境中使用不同变量的场景,例如在VUE3中的小程序环境使用下面的方式导入echarts:

javascript 复制代码
const echarts = require('../../static/echarts.min');

如果不是小程序环境则使用下面的方式导入echarts:

javascript 复制代码
// 由于 vue3 使用vite 不支持umd格式的包,故引入npm的包
import * as echarts from 'echarts';

但是按照上面的形式导入后,在vscode中就会提示变量冲突:

导入声明与"echarts"的局部声明冲突。ts

为了解决这个问题,我的解决办法是,将script标签中的 lang="ts"删除掉:

但是删除掉之后,就会报另外一个警告:

Virtual script "d:/Mypro/uniapp-vue3/src/pages/my/index.vue.js" not found, may missing <script lang="ts"> / "allowJs": true / jsconfig.json.vue

所以还需要再ts.config.json中配置 "allowJs": true,然后保存再到vue中,就没有警告了:

但是还需要把ts那些类型,断言等语法删除掉,不然还是会报错

修改后的结果:

相关推荐
宠友信息1 天前
消息序号如何保证即时通讯源码聊天记录稳定加载
java·spring boot·redis·python·mysql·uni-app
2501_916008891 天前
苹果上架工具怎么选 不用 Mac 上架 App Store 的几种方案
android·macos·ios·小程序·uni-app·iphone·webview
宠友信息1 天前
MySQL复合索引与Druid优化仿小红书源码个人主页查询链路
数据库·spring boot·websocket·mysql·uni-app
秃头披风侠_郑2 天前
【uniapp】一文让你学会微信小程序+APP+H5全平台实战指南
前端·微信小程序·uni-app
宠友信息3 天前
消息撤回与已读状态如何在即时通讯源码中统一管理
java·spring boot·websocket·mysql·uni-app
帅帅的记忆3 天前
uniapp项目调用原生android studio的sdk文件(即aar文件)
android·uni-app·android studio
宠友信息3 天前
Spring Boot与Redis ZSet实现仿小红书源码双列瀑布流推荐
java·大数据·前端·spring boot·redis·mysql·uni-app
这是个栗子4 天前
uni-app微信小程序开发:高频核心 API(三)
微信小程序·小程序·uni-app
大白要努力!6 天前
uni-app 全面入门速查手册
前端·uni-app
李剑一6 天前
uni-app x 实现本地 JSON 文件的导入导出(APP端可用)
android·前端·uni-app