vue3 + ts项目(无vite)报错记录

记录项目创建后遇到的报错
1.类型"Window & typeof globalThis"上不存在属性"_CONFIG"。ts(2339)

问题描述:

使用全局 window 上自定义的属性,TypeScript 会报属性不存在

解决:需要将自定义变量扩展到全局 window 上,在项目的xxx.d.ts文件添加如下代码声明

javascript 复制代码
declare interface Window {
  _CONFIG: any
}

添加后好像得重启编译器

2.axios报错
2.1 问题描述:

这个报错是因为axios版本更新后出现了新的类型导致的问题,可以根据此贴中的描述来解决,也可以用回旧版本解决,我是用回了0.21.x的旧版本

javascript 复制代码
yarn add axios@^0.21.1
2.2 类型"AxiosResponse"上不存在属性"success"。ts(2339)

解决:封装文件中追加声明描述

javascript 复制代码
import axios, { AxiosRequestConfig, AxiosResponse, AxiosError } from 'axios'

declare module "axios" {
  interface AxiosResponse<T = any> {
    result:any
    success:any,
    // 这里追加你的参数
  }
  export function create(config?: AxiosRequestConfig): AxiosInstance;
}
3.vue.config.js路径别名配置
javascript 复制代码
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false,
  publicPath: "/",
  outputDir: "dist",
  chainWebpack: config => {
    config.resolve.alias
      .set('@', resolve('src'))
      .set('@assets', resolve('src/assets'))
      .set('@views', resolve('src/views'))
      .set('@comp', resolve('src/components'))
  }
});
4.项目引入第三方库的关键字报错

问题描述:

这里就是第三方库的关键字DC报错了

解决:还是在xxx.d.ts文件中追加关键字声明

javascript 复制代码
declare var DC: any
相关推荐
橘子编程6 小时前
JavaScript与TypeScript终极指南
javascript·ubuntu·typescript
数据知道8 小时前
claw-code 源码分析:从 TypeScript 心智到 Python/Rust——跨栈移植时类型、边界与错误模型怎么对齐?
python·ai·rust·typescript·claude code·claw code
luckyCover12 小时前
TypeScript学习系列(二):高级类型篇
前端·typescript
qq_3813385014 小时前
TypeScript 类型安全与类型体操实战:从入门到精通
javascript·安全·typescript
We་ct15 小时前
LeetCode 69. x 的平方根:两种解法详解
前端·javascript·算法·leetcode·typescript·平方
zhensherlock17 小时前
Protocol Launcher 系列:Mail Assistant 轻松发送 HTML 邮件
前端·javascript·typescript·node.js·html·github·js
军军君011 天前
Three.js基础功能学习十八:智能黑板实现实例五
前端·javascript·vue.js·3d·typescript·前端框架·threejs
军军君011 天前
Three.js基础功能学习十四:智能黑板实现实例一
前端·javascript·css·typescript·前端框架·threejs·智能黑板
We་ct2 天前
LeetCode 172. 阶乘后的零:从暴力到最优,拆解解题核心
开发语言·前端·javascript·算法·leetcode·typescript
军军君012 天前
数字孪生监控大屏实战模板:可视化数字统计展示
前端·javascript·vue.js·typescript·echarts·数字孪生·前端大屏