React react-app-env.d.ts是 TypeScript 的全局类型声明文件,它的作用

src/react-app-env.d.ts 是 TypeScript 的全局类型声明文件,在这个项目中承担以下几个作用:

  1. 引入 React 脚手架内置类型
clike 复制代码
/// <reference types="node" />
/// <reference types="react" />
/// <reference types="react-dom" />`在这里插入代码片`

三条三斜线指令,让 TypeScript 自动加载 Node.js、React、ReactDOM 的类型定义,无需在每个文件里手动 import。

  1. 扩展 process.env 的类型
dart 复制代码
declare namespace NodeJS {
  interface ProcessEnv { ... }
}

定义了项目自定义的环境变量(如 REACT_APP_Version_Code),使访问 process.env.REACT_APP_Version_Code 时有类型提示和检查。

  1. 声明静态资源模块类型
dart 复制代码
declare module '*.png' { ... }
declare module '*.svg' { ... }

告诉 TypeScript:import logo from './logo.png' 这类导入是合法的,并且知道导出的是 string 类型。

  1. 声明样式文件模块类型
dart 复制代码
declare module '*.less' {}           // 普通 less,副作用导入
declare module '*.css' {}            // 普通 css,副作用导入
declare module '*.module.less' { ... } // CSS Modules,有具名导出
declare module '*.module.css' { ... }  // CSS Modules,有具名导出

区别:*.module.less 有 export default classes 是因为 CSS Modules 会导出一个类名映射对象;而普通 *.less 只是副作用导入(注入样式),不需要导出值,所以声明为空 {}。

  1. 扩展 Window 全局对象
dart 复制代码
interface Window {
  hubConnection: HubConnection;
}

让 window.hubConnection 访问时不报 TS 错误,对应 App.tsx 里直接挂载 SignalR 连接对象到 window 上的做法。

相关推荐
原则猫4 小时前
UDP 到底怎么实现可靠的
前端
Java后端的Ai之路4 小时前
14、ReactJS - 路由(Router)
前端·react.js·状态模式
裕晟资质规划5 小时前
三类涉密资质延续时限差异分析:军工60日与集成印制3个月的边界
java·服务器·前端·网络·安全
ShineWinsu6 小时前
对于JavaScript:JavaScript基础语法的解析
开发语言·前端·javascript·面试·web·基础语法·循环
月夏6 小时前
Vue3 转 React:18 项对照表 + 5 个必踩的坑(附 7 天上手路线)
前端
广州华水科技6 小时前
单北斗GNSS位移监测系统的应用与维护解析
前端
fbincon6 小时前
Claude Code 自定义状态栏工具:安装、配置与 Subagent 状态展示
python·typescript·claude·claude-code·statusline
梦曦i6 小时前
uni-storage 0.1.0 发布:TTL过期管理+多实例隔离
前端·storage·uni-app x
猫头_7 小时前
AI 流式传输工程指南:模型吐出半截 JSON,前端如何边收边渲染?
前端·javascript·llm
console.log('npc')8 小时前
第 1 章 项目概述与环境搭建
前端·人工智能·大模型