问题
在vite.config.ts中配置全局替换变量:
define: {__DEV__: true}
解决方法
看了一下Vue核心库中是使用了global.d.ts进行全局声明
/// <reference types="vite/client" />// Global compile-time constantsdeclare var __DEV__: boolean
vuejs-core中的global.d.ts
/// <reference types="vite/client" />// Global compile-time constantsdeclare var __DEV__: booleandeclare var __TEST__: booleandeclare var __BROWSER__: booleandeclare var __GLOBAL__: booleandeclare var __ESM_BUNDLER__: booleandeclare var __ESM_BROWSER__: booleandeclare var __NODE_JS__: booleandeclare var __SSR__: booleandeclare var __COMMIT__: stringdeclare var __VERSION__: stringdeclare var __COMPAT__: boolean// Feature flagsdeclare var __FEATURE_OPTIONS_API__: booleandeclare var __FEATURE_PROD_DEVTOOLS__: booleandeclare var __FEATURE_SUSPENSE__: boolean// for testsdeclare namespace jest {interface Matchers<R, T> {toHaveBeenWarned(): RtoHaveBeenWarnedLast(): RtoHaveBeenWarnedTimes(n: number): R}}declare module '*.vue' {}declare module 'file-saver' {export function saveAs(blob: any, name: any): void}declare module '@vue/repl' {import { ComponentOptions } from '@vue/runtime-core'const Repl: ComponentOptionsconst ReplStore: anyexport { Repl, ReplStore }}declare interface String {/*** @deprecated Please use String.prototype.slice instead of String.prototype.substring in the repository.*/substring(start: number, end?: number): string}

