提交 799060a4 authored 作者: 王鹏飞's avatar 王鹏飞

build: 升级 Vite 工具链并适配新版 TypeScript 与 Sass

上级 a0ed7c21
{ {
"globals": { "globals": {
"Component": true,
"ComponentPublicInstance": true,
"ComputedRef": true,
"DirectiveBinding": true,
"EffectScope": true, "EffectScope": true,
"ExtractDefaultPropTypes": true,
"ExtractPropTypes": true,
"ExtractPublicPropTypes": true,
"InjectionKey": true,
"MaybeRef": true,
"MaybeRefOrGetter": true,
"PropType": true,
"Ref": true,
"ShallowRef": true,
"Slot": true,
"Slots": true,
"VNode": true,
"WritableComputedRef": true,
"asyncComputed": true, "asyncComputed": true,
"autoResetRef": true, "autoResetRef": true,
"computed": true, "computed": true,
...@@ -27,6 +44,7 @@ ...@@ -27,6 +44,7 @@
"extendRef": true, "extendRef": true,
"getCurrentInstance": true, "getCurrentInstance": true,
"getCurrentScope": true, "getCurrentScope": true,
"getCurrentWatcher": true,
"h": true, "h": true,
"ignorableWatch": true, "ignorableWatch": true,
"inject": true, "inject": true,
...@@ -35,6 +53,7 @@ ...@@ -35,6 +53,7 @@
"isReactive": true, "isReactive": true,
"isReadonly": true, "isReadonly": true,
"isRef": true, "isRef": true,
"isShallow": true,
"logicAnd": true, "logicAnd": true,
"logicNot": true, "logicNot": true,
"logicOr": true, "logicOr": true,
...@@ -43,6 +62,8 @@ ...@@ -43,6 +62,8 @@
"nextTick": true, "nextTick": true,
"onActivated": true, "onActivated": true,
"onBeforeMount": true, "onBeforeMount": true,
"onBeforeRouteLeave": true,
"onBeforeRouteUpdate": true,
"onBeforeUnmount": true, "onBeforeUnmount": true,
"onBeforeUpdate": true, "onBeforeUpdate": true,
"onClickOutside": true, "onClickOutside": true,
...@@ -58,6 +79,7 @@ ...@@ -58,6 +79,7 @@
"onStartTyping": true, "onStartTyping": true,
"onUnmounted": true, "onUnmounted": true,
"onUpdated": true, "onUpdated": true,
"onWatcherCleanup": true,
"pausableWatch": true, "pausableWatch": true,
"provide": true, "provide": true,
"reactify": true, "reactify": true,
...@@ -88,6 +110,7 @@ ...@@ -88,6 +110,7 @@
"toReactive": true, "toReactive": true,
"toRef": true, "toRef": true,
"toRefs": true, "toRefs": true,
"toValue": true,
"triggerRef": true, "triggerRef": true,
"tryOnBeforeMount": true, "tryOnBeforeMount": true,
"tryOnBeforeUnmount": true, "tryOnBeforeUnmount": true,
...@@ -150,6 +173,7 @@ ...@@ -150,6 +173,7 @@
"useFullscreen": true, "useFullscreen": true,
"useGamepad": true, "useGamepad": true,
"useGeolocation": true, "useGeolocation": true,
"useId": true,
"useIdle": true, "useIdle": true,
"useImage": true, "useImage": true,
"useInfiniteScroll": true, "useInfiniteScroll": true,
...@@ -158,6 +182,7 @@ ...@@ -158,6 +182,7 @@
"useIntervalFn": true, "useIntervalFn": true,
"useKeyModifier": true, "useKeyModifier": true,
"useLastChanged": true, "useLastChanged": true,
"useLink": true,
"useLocalStorage": true, "useLocalStorage": true,
"useMagicKeys": true, "useMagicKeys": true,
"useManualRefHistory": true, "useManualRefHistory": true,
...@@ -165,6 +190,7 @@ ...@@ -165,6 +190,7 @@
"useMediaQuery": true, "useMediaQuery": true,
"useMemoize": true, "useMemoize": true,
"useMemory": true, "useMemory": true,
"useModel": true,
"useMounted": true, "useMounted": true,
"useMouse": true, "useMouse": true,
"useMouseInElement": true, "useMouseInElement": true,
...@@ -204,6 +230,7 @@ ...@@ -204,6 +230,7 @@
"useStorageAsync": true, "useStorageAsync": true,
"useStyleTag": true, "useStyleTag": true,
"useSwipe": true, "useSwipe": true,
"useTemplateRef": true,
"useTemplateRefsList": true, "useTemplateRefsList": true,
"useTextSelection": true, "useTextSelection": true,
"useTextareaAutosize": true, "useTextareaAutosize": true,
...@@ -247,4 +274,4 @@ ...@@ -247,4 +274,4 @@
"watchWithFilter": true, "watchWithFilter": true,
"whenever": true "whenever": true
} }
} }
\ No newline at end of file
// Generated by 'unplugin-auto-import' /* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import
// biome-ignore lint: disable
export {} export {}
declare global { declare global {
const EffectScope: typeof import('vue')['EffectScope'] const EffectScope: typeof import('vue').EffectScope
const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] const asyncComputed: typeof import('@vueuse/core').asyncComputed
const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] const autoResetRef: typeof import('@vueuse/core').autoResetRef
const computed: typeof import('vue')['computed'] const computed: typeof import('vue').computed
const computedAsync: typeof import('@vueuse/core')['computedAsync'] const computedAsync: typeof import('@vueuse/core').computedAsync
const computedEager: typeof import('@vueuse/core')['computedEager'] const computedEager: typeof import('@vueuse/core').computedEager
const computedInject: typeof import('@vueuse/core')['computedInject'] const computedInject: typeof import('@vueuse/core').computedInject
const computedWithControl: typeof import('@vueuse/core')['computedWithControl'] const computedWithControl: typeof import('@vueuse/core').computedWithControl
const controlledComputed: typeof import('@vueuse/core')['controlledComputed'] const controlledComputed: typeof import('@vueuse/core').controlledComputed
const controlledRef: typeof import('@vueuse/core')['controlledRef'] const controlledRef: typeof import('@vueuse/core').controlledRef
const createApp: typeof import('vue')['createApp'] const createApp: typeof import('vue').createApp
const createEventHook: typeof import('@vueuse/core')['createEventHook'] const createEventHook: typeof import('@vueuse/core').createEventHook
const createGlobalState: typeof import('@vueuse/core')['createGlobalState'] const createGlobalState: typeof import('@vueuse/core').createGlobalState
const createInjectionState: typeof import('@vueuse/core')['createInjectionState'] const createInjectionState: typeof import('@vueuse/core').createInjectionState
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn'] const createReactiveFn: typeof import('@vueuse/core').createReactiveFn
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable'] const createSharedComposable: typeof import('@vueuse/core').createSharedComposable
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn'] const createUnrefFn: typeof import('@vueuse/core').createUnrefFn
const customRef: typeof import('vue')['customRef'] const customRef: typeof import('vue').customRef
const debouncedRef: typeof import('@vueuse/core')['debouncedRef'] const debouncedRef: typeof import('@vueuse/core').debouncedRef
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch'] const debouncedWatch: typeof import('@vueuse/core').debouncedWatch
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] const defineAsyncComponent: typeof import('vue').defineAsyncComponent
const defineComponent: typeof import('vue')['defineComponent'] const defineComponent: typeof import('vue').defineComponent
const eagerComputed: typeof import('@vueuse/core')['eagerComputed'] const eagerComputed: typeof import('@vueuse/core').eagerComputed
const effectScope: typeof import('vue')['effectScope'] const effectScope: typeof import('vue').effectScope
const extendRef: typeof import('@vueuse/core')['extendRef'] const extendRef: typeof import('@vueuse/core').extendRef
const getCurrentInstance: typeof import('vue')['getCurrentInstance'] const getCurrentInstance: typeof import('vue').getCurrentInstance
const getCurrentScope: typeof import('vue')['getCurrentScope'] const getCurrentScope: typeof import('vue').getCurrentScope
const h: typeof import('vue')['h'] const getCurrentWatcher: typeof import('vue').getCurrentWatcher
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch'] const h: typeof import('vue').h
const inject: typeof import('vue')['inject'] const ignorableWatch: typeof import('@vueuse/core').ignorableWatch
const isDefined: typeof import('@vueuse/core')['isDefined'] const inject: typeof import('vue').inject
const isProxy: typeof import('vue')['isProxy'] const isDefined: typeof import('@vueuse/core').isDefined
const isReactive: typeof import('vue')['isReactive'] const isProxy: typeof import('vue').isProxy
const isReadonly: typeof import('vue')['isReadonly'] const isReactive: typeof import('vue').isReactive
const isRef: typeof import('vue')['isRef'] const isReadonly: typeof import('vue').isReadonly
const logicAnd: typeof import('@vueuse/core')['logicAnd'] const isRef: typeof import('vue').isRef
const logicNot: typeof import('@vueuse/core')['logicNot'] const isShallow: typeof import('vue').isShallow
const logicOr: typeof import('@vueuse/core')['logicOr'] const logicAnd: typeof import('@vueuse/core').logicAnd
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable'] const logicNot: typeof import('@vueuse/core').logicNot
const markRaw: typeof import('vue')['markRaw'] const logicOr: typeof import('@vueuse/core').logicOr
const nextTick: typeof import('vue')['nextTick'] const makeDestructurable: typeof import('@vueuse/core').makeDestructurable
const onActivated: typeof import('vue')['onActivated'] const markRaw: typeof import('vue').markRaw
const onBeforeMount: typeof import('vue')['onBeforeMount'] const nextTick: typeof import('vue').nextTick
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] const onActivated: typeof import('vue').onActivated
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] const onBeforeMount: typeof import('vue').onBeforeMount
const onClickOutside: typeof import('@vueuse/core')['onClickOutside'] const onBeforeRouteLeave: typeof import('vue-router').onBeforeRouteLeave
const onDeactivated: typeof import('vue')['onDeactivated'] const onBeforeRouteUpdate: typeof import('vue-router').onBeforeRouteUpdate
const onErrorCaptured: typeof import('vue')['onErrorCaptured'] const onBeforeUnmount: typeof import('vue').onBeforeUnmount
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke'] const onBeforeUpdate: typeof import('vue').onBeforeUpdate
const onLongPress: typeof import('@vueuse/core')['onLongPress'] const onClickOutside: typeof import('@vueuse/core').onClickOutside
const onMounted: typeof import('vue')['onMounted'] const onDeactivated: typeof import('vue').onDeactivated
const onRenderTracked: typeof import('vue')['onRenderTracked'] const onErrorCaptured: typeof import('vue').onErrorCaptured
const onRenderTriggered: typeof import('vue')['onRenderTriggered'] const onKeyStroke: typeof import('@vueuse/core').onKeyStroke
const onScopeDispose: typeof import('vue')['onScopeDispose'] const onLongPress: typeof import('@vueuse/core').onLongPress
const onServerPrefetch: typeof import('vue')['onServerPrefetch'] const onMounted: typeof import('vue').onMounted
const onStartTyping: typeof import('@vueuse/core')['onStartTyping'] const onRenderTracked: typeof import('vue').onRenderTracked
const onUnmounted: typeof import('vue')['onUnmounted'] const onRenderTriggered: typeof import('vue').onRenderTriggered
const onUpdated: typeof import('vue')['onUpdated'] const onScopeDispose: typeof import('vue').onScopeDispose
const pausableWatch: typeof import('@vueuse/core')['pausableWatch'] const onServerPrefetch: typeof import('vue').onServerPrefetch
const provide: typeof import('vue')['provide'] const onStartTyping: typeof import('@vueuse/core').onStartTyping
const reactify: typeof import('@vueuse/core')['reactify'] const onUnmounted: typeof import('vue').onUnmounted
const reactifyObject: typeof import('@vueuse/core')['reactifyObject'] const onUpdated: typeof import('vue').onUpdated
const reactive: typeof import('vue')['reactive'] const onWatcherCleanup: typeof import('vue').onWatcherCleanup
const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed'] const pausableWatch: typeof import('@vueuse/core').pausableWatch
const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit'] const provide: typeof import('vue').provide
const reactivePick: typeof import('@vueuse/core')['reactivePick'] const reactify: typeof import('@vueuse/core').reactify
const readonly: typeof import('vue')['readonly'] const reactifyObject: typeof import('@vueuse/core').reactifyObject
const ref: typeof import('vue')['ref'] const reactive: typeof import('vue').reactive
const refAutoReset: typeof import('@vueuse/core')['refAutoReset'] const reactiveComputed: typeof import('@vueuse/core').reactiveComputed
const refDebounced: typeof import('@vueuse/core')['refDebounced'] const reactiveOmit: typeof import('@vueuse/core').reactiveOmit
const refDefault: typeof import('@vueuse/core')['refDefault'] const reactivePick: typeof import('@vueuse/core').reactivePick
const refThrottled: typeof import('@vueuse/core')['refThrottled'] const readonly: typeof import('vue').readonly
const refWithControl: typeof import('@vueuse/core')['refWithControl'] const ref: typeof import('vue').ref
const resolveComponent: typeof import('vue')['resolveComponent'] const refAutoReset: typeof import('@vueuse/core').refAutoReset
const resolveRef: typeof import('@vueuse/core')['resolveRef'] const refDebounced: typeof import('@vueuse/core').refDebounced
const resolveUnref: typeof import('@vueuse/core')['resolveUnref'] const refDefault: typeof import('@vueuse/core').refDefault
const shallowReactive: typeof import('vue')['shallowReactive'] const refThrottled: typeof import('@vueuse/core').refThrottled
const shallowReadonly: typeof import('vue')['shallowReadonly'] const refWithControl: typeof import('@vueuse/core').refWithControl
const shallowRef: typeof import('vue')['shallowRef'] const resolveComponent: typeof import('vue').resolveComponent
const syncRef: typeof import('@vueuse/core')['syncRef'] const resolveRef: typeof import('@vueuse/core').resolveRef
const syncRefs: typeof import('@vueuse/core')['syncRefs'] const resolveUnref: typeof import('@vueuse/core').resolveUnref
const templateRef: typeof import('@vueuse/core')['templateRef'] const shallowReactive: typeof import('vue').shallowReactive
const throttledRef: typeof import('@vueuse/core')['throttledRef'] const shallowReadonly: typeof import('vue').shallowReadonly
const throttledWatch: typeof import('@vueuse/core')['throttledWatch'] const shallowRef: typeof import('vue').shallowRef
const toRaw: typeof import('vue')['toRaw'] const syncRef: typeof import('@vueuse/core').syncRef
const toReactive: typeof import('@vueuse/core')['toReactive'] const syncRefs: typeof import('@vueuse/core').syncRefs
const toRef: typeof import('vue')['toRef'] const templateRef: typeof import('@vueuse/core').templateRef
const toRefs: typeof import('vue')['toRefs'] const throttledRef: typeof import('@vueuse/core').throttledRef
const triggerRef: typeof import('vue')['triggerRef'] const throttledWatch: typeof import('@vueuse/core').throttledWatch
const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount'] const toRaw: typeof import('vue').toRaw
const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount'] const toReactive: typeof import('@vueuse/core').toReactive
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted'] const toRef: typeof import('vue').toRef
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose'] const toRefs: typeof import('vue').toRefs
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted'] const toValue: typeof import('vue').toValue
const unref: typeof import('vue')['unref'] const triggerRef: typeof import('vue').triggerRef
const unrefElement: typeof import('@vueuse/core')['unrefElement'] const tryOnBeforeMount: typeof import('@vueuse/core').tryOnBeforeMount
const until: typeof import('@vueuse/core')['until'] const tryOnBeforeUnmount: typeof import('@vueuse/core').tryOnBeforeUnmount
const useActiveElement: typeof import('@vueuse/core')['useActiveElement'] const tryOnMounted: typeof import('@vueuse/core').tryOnMounted
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue'] const tryOnScopeDispose: typeof import('@vueuse/core').tryOnScopeDispose
const useAsyncState: typeof import('@vueuse/core')['useAsyncState'] const tryOnUnmounted: typeof import('@vueuse/core').tryOnUnmounted
const useAttrs: typeof import('vue')['useAttrs'] const unref: typeof import('vue').unref
const useBase64: typeof import('@vueuse/core')['useBase64'] const unrefElement: typeof import('@vueuse/core').unrefElement
const useBattery: typeof import('@vueuse/core')['useBattery'] const until: typeof import('@vueuse/core').until
const useBluetooth: typeof import('@vueuse/core')['useBluetooth'] const useActiveElement: typeof import('@vueuse/core').useActiveElement
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints'] const useAsyncQueue: typeof import('@vueuse/core').useAsyncQueue
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel'] const useAsyncState: typeof import('@vueuse/core').useAsyncState
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation'] const useAttrs: typeof import('vue').useAttrs
const useCached: typeof import('@vueuse/core')['useCached'] const useBase64: typeof import('@vueuse/core').useBase64
const useClamp: typeof import('@vueuse/core')['useClamp'] const useBattery: typeof import('@vueuse/core').useBattery
const useClipboard: typeof import('@vueuse/core')['useClipboard'] const useBluetooth: typeof import('@vueuse/core').useBluetooth
const useColorMode: typeof import('@vueuse/core')['useColorMode'] const useBreakpoints: typeof import('@vueuse/core').useBreakpoints
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog'] const useBroadcastChannel: typeof import('@vueuse/core').useBroadcastChannel
const useCounter: typeof import('@vueuse/core')['useCounter'] const useBrowserLocation: typeof import('@vueuse/core').useBrowserLocation
const useCssModule: typeof import('vue')['useCssModule'] const useCached: typeof import('@vueuse/core').useCached
const useCssVar: typeof import('@vueuse/core')['useCssVar'] const useClamp: typeof import('@vueuse/core').useClamp
const useCssVars: typeof import('vue')['useCssVars'] const useClipboard: typeof import('@vueuse/core').useClipboard
const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement'] const useColorMode: typeof import('@vueuse/core').useColorMode
const useCycleList: typeof import('@vueuse/core')['useCycleList'] const useConfirmDialog: typeof import('@vueuse/core').useConfirmDialog
const useDark: typeof import('@vueuse/core')['useDark'] const useCounter: typeof import('@vueuse/core').useCounter
const useDateFormat: typeof import('@vueuse/core')['useDateFormat'] const useCssModule: typeof import('vue').useCssModule
const useDebounce: typeof import('@vueuse/core')['useDebounce'] const useCssVar: typeof import('@vueuse/core').useCssVar
const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn'] const useCssVars: typeof import('vue').useCssVars
const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory'] const useCurrentElement: typeof import('@vueuse/core').useCurrentElement
const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion'] const useCycleList: typeof import('@vueuse/core').useCycleList
const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation'] const useDark: typeof import('@vueuse/core').useDark
const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio'] const useDateFormat: typeof import('@vueuse/core').useDateFormat
const useDevicesList: typeof import('@vueuse/core')['useDevicesList'] const useDebounce: typeof import('@vueuse/core').useDebounce
const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia'] const useDebounceFn: typeof import('@vueuse/core').useDebounceFn
const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility'] const useDebouncedRefHistory: typeof import('@vueuse/core').useDebouncedRefHistory
const useDraggable: typeof import('@vueuse/core')['useDraggable'] const useDeviceMotion: typeof import('@vueuse/core').useDeviceMotion
const useDropZone: typeof import('@vueuse/core')['useDropZone'] const useDeviceOrientation: typeof import('@vueuse/core').useDeviceOrientation
const useElementBounding: typeof import('@vueuse/core')['useElementBounding'] const useDevicePixelRatio: typeof import('@vueuse/core').useDevicePixelRatio
const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint'] const useDevicesList: typeof import('@vueuse/core').useDevicesList
const useElementHover: typeof import('@vueuse/core')['useElementHover'] const useDisplayMedia: typeof import('@vueuse/core').useDisplayMedia
const useElementSize: typeof import('@vueuse/core')['useElementSize'] const useDocumentVisibility: typeof import('@vueuse/core').useDocumentVisibility
const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility'] const useDraggable: typeof import('@vueuse/core').useDraggable
const useEventBus: typeof import('@vueuse/core')['useEventBus'] const useDropZone: typeof import('@vueuse/core').useDropZone
const useEventListener: typeof import('@vueuse/core')['useEventListener'] const useElementBounding: typeof import('@vueuse/core').useElementBounding
const useEventSource: typeof import('@vueuse/core')['useEventSource'] const useElementByPoint: typeof import('@vueuse/core').useElementByPoint
const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper'] const useElementHover: typeof import('@vueuse/core').useElementHover
const useFavicon: typeof import('@vueuse/core')['useFavicon'] const useElementSize: typeof import('@vueuse/core').useElementSize
const useFetch: typeof import('@vueuse/core')['useFetch'] const useElementVisibility: typeof import('@vueuse/core').useElementVisibility
const useFileDialog: typeof import('@vueuse/core')['useFileDialog'] const useEventBus: typeof import('@vueuse/core').useEventBus
const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess'] const useEventListener: typeof import('@vueuse/core').useEventListener
const useFocus: typeof import('@vueuse/core')['useFocus'] const useEventSource: typeof import('@vueuse/core').useEventSource
const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin'] const useEyeDropper: typeof import('@vueuse/core').useEyeDropper
const useFps: typeof import('@vueuse/core')['useFps'] const useFavicon: typeof import('@vueuse/core').useFavicon
const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] const useFetch: typeof import('@vueuse/core').useFetch
const useGamepad: typeof import('@vueuse/core')['useGamepad'] const useFileDialog: typeof import('@vueuse/core').useFileDialog
const useGeolocation: typeof import('@vueuse/core')['useGeolocation'] const useFileSystemAccess: typeof import('@vueuse/core').useFileSystemAccess
const useIdle: typeof import('@vueuse/core')['useIdle'] const useFocus: typeof import('@vueuse/core').useFocus
const useImage: typeof import('@vueuse/core')['useImage'] const useFocusWithin: typeof import('@vueuse/core').useFocusWithin
const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll'] const useFps: typeof import('@vueuse/core').useFps
const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver'] const useFullscreen: typeof import('@vueuse/core').useFullscreen
const useInterval: typeof import('@vueuse/core')['useInterval'] const useGamepad: typeof import('@vueuse/core').useGamepad
const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn'] const useGeolocation: typeof import('@vueuse/core').useGeolocation
const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier'] const useId: typeof import('vue').useId
const useLastChanged: typeof import('@vueuse/core')['useLastChanged'] const useIdle: typeof import('@vueuse/core').useIdle
const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage'] const useImage: typeof import('@vueuse/core').useImage
const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys'] const useInfiniteScroll: typeof import('@vueuse/core').useInfiniteScroll
const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory'] const useIntersectionObserver: typeof import('@vueuse/core').useIntersectionObserver
const useMediaControls: typeof import('@vueuse/core')['useMediaControls'] const useInterval: typeof import('@vueuse/core').useInterval
const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery'] const useIntervalFn: typeof import('@vueuse/core').useIntervalFn
const useMemoize: typeof import('@vueuse/core')['useMemoize'] const useKeyModifier: typeof import('@vueuse/core').useKeyModifier
const useMemory: typeof import('@vueuse/core')['useMemory'] const useLastChanged: typeof import('@vueuse/core').useLastChanged
const useMounted: typeof import('@vueuse/core')['useMounted'] const useLink: typeof import('vue-router').useLink
const useMouse: typeof import('@vueuse/core')['useMouse'] const useLocalStorage: typeof import('@vueuse/core').useLocalStorage
const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement'] const useMagicKeys: typeof import('@vueuse/core').useMagicKeys
const useMousePressed: typeof import('@vueuse/core')['useMousePressed'] const useManualRefHistory: typeof import('@vueuse/core').useManualRefHistory
const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver'] const useMediaControls: typeof import('@vueuse/core').useMediaControls
const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage'] const useMediaQuery: typeof import('@vueuse/core').useMediaQuery
const useNetwork: typeof import('@vueuse/core')['useNetwork'] const useMemoize: typeof import('@vueuse/core').useMemoize
const useNow: typeof import('@vueuse/core')['useNow'] const useMemory: typeof import('@vueuse/core').useMemory
const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl'] const useModel: typeof import('vue').useModel
const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination'] const useMounted: typeof import('@vueuse/core').useMounted
const useOnline: typeof import('@vueuse/core')['useOnline'] const useMouse: typeof import('@vueuse/core').useMouse
const usePageLeave: typeof import('@vueuse/core')['usePageLeave'] const useMouseInElement: typeof import('@vueuse/core').useMouseInElement
const useParallax: typeof import('@vueuse/core')['useParallax'] const useMousePressed: typeof import('@vueuse/core').useMousePressed
const usePermission: typeof import('@vueuse/core')['usePermission'] const useMutationObserver: typeof import('@vueuse/core').useMutationObserver
const usePointer: typeof import('@vueuse/core')['usePointer'] const useNavigatorLanguage: typeof import('@vueuse/core').useNavigatorLanguage
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe'] const useNetwork: typeof import('@vueuse/core').useNetwork
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme'] const useNow: typeof import('@vueuse/core').useNow
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark'] const useObjectUrl: typeof import('@vueuse/core').useObjectUrl
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages'] const useOffsetPagination: typeof import('@vueuse/core').useOffsetPagination
const useRafFn: typeof import('@vueuse/core')['useRafFn'] const useOnline: typeof import('@vueuse/core').useOnline
const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] const usePageLeave: typeof import('@vueuse/core').usePageLeave
const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] const useParallax: typeof import('@vueuse/core').useParallax
const useRoute: typeof import('vue-router')['useRoute'] const usePermission: typeof import('@vueuse/core').usePermission
const useRouter: typeof import('vue-router')['useRouter'] const usePointer: typeof import('@vueuse/core').usePointer
const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation'] const usePointerSwipe: typeof import('@vueuse/core').usePointerSwipe
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea'] const usePreferredColorScheme: typeof import('@vueuse/core').usePreferredColorScheme
const useScriptTag: typeof import('@vueuse/core')['useScriptTag'] const usePreferredDark: typeof import('@vueuse/core').usePreferredDark
const useScroll: typeof import('@vueuse/core')['useScroll'] const usePreferredLanguages: typeof import('@vueuse/core').usePreferredLanguages
const useScrollLock: typeof import('@vueuse/core')['useScrollLock'] const useRafFn: typeof import('@vueuse/core').useRafFn
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage'] const useRefHistory: typeof import('@vueuse/core').useRefHistory
const useShare: typeof import('@vueuse/core')['useShare'] const useResizeObserver: typeof import('@vueuse/core').useResizeObserver
const useSlots: typeof import('vue')['useSlots'] const useRoute: typeof import('vue-router').useRoute
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition'] const useRouter: typeof import('vue-router').useRouter
const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis'] const useScreenOrientation: typeof import('@vueuse/core').useScreenOrientation
const useStepper: typeof import('@vueuse/core')['useStepper'] const useScreenSafeArea: typeof import('@vueuse/core').useScreenSafeArea
const useStorage: typeof import('@vueuse/core')['useStorage'] const useScriptTag: typeof import('@vueuse/core').useScriptTag
const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync'] const useScroll: typeof import('@vueuse/core').useScroll
const useStyleTag: typeof import('@vueuse/core')['useStyleTag'] const useScrollLock: typeof import('@vueuse/core').useScrollLock
const useSwipe: typeof import('@vueuse/core')['useSwipe'] const useSessionStorage: typeof import('@vueuse/core').useSessionStorage
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] const useShare: typeof import('@vueuse/core').useShare
const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] const useSlots: typeof import('vue').useSlots
const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize'] const useSpeechRecognition: typeof import('@vueuse/core').useSpeechRecognition
const useThrottle: typeof import('@vueuse/core')['useThrottle'] const useSpeechSynthesis: typeof import('@vueuse/core').useSpeechSynthesis
const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn'] const useStepper: typeof import('@vueuse/core').useStepper
const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory'] const useStorage: typeof import('@vueuse/core').useStorage
const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo'] const useStorageAsync: typeof import('@vueuse/core').useStorageAsync
const useTimeout: typeof import('@vueuse/core')['useTimeout'] const useStyleTag: typeof import('@vueuse/core').useStyleTag
const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn'] const useSwipe: typeof import('@vueuse/core').useSwipe
const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll'] const useTemplateRef: typeof import('vue').useTemplateRef
const useTimestamp: typeof import('@vueuse/core')['useTimestamp'] const useTemplateRefsList: typeof import('@vueuse/core').useTemplateRefsList
const useTitle: typeof import('@vueuse/core')['useTitle'] const useTextSelection: typeof import('@vueuse/core').useTextSelection
const useToggle: typeof import('@vueuse/core')['useToggle'] const useTextareaAutosize: typeof import('@vueuse/core').useTextareaAutosize
const useTransition: typeof import('@vueuse/core')['useTransition'] const useThrottle: typeof import('@vueuse/core').useThrottle
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams'] const useThrottleFn: typeof import('@vueuse/core').useThrottleFn
const useUserMedia: typeof import('@vueuse/core')['useUserMedia'] const useThrottledRefHistory: typeof import('@vueuse/core').useThrottledRefHistory
const useVModel: typeof import('@vueuse/core')['useVModel'] const useTimeAgo: typeof import('@vueuse/core').useTimeAgo
const useVModels: typeof import('@vueuse/core')['useVModels'] const useTimeout: typeof import('@vueuse/core').useTimeout
const useVibrate: typeof import('@vueuse/core')['useVibrate'] const useTimeoutFn: typeof import('@vueuse/core').useTimeoutFn
const useVirtualList: typeof import('@vueuse/core')['useVirtualList'] const useTimeoutPoll: typeof import('@vueuse/core').useTimeoutPoll
const useWakeLock: typeof import('@vueuse/core')['useWakeLock'] const useTimestamp: typeof import('@vueuse/core').useTimestamp
const useWebNotification: typeof import('@vueuse/core')['useWebNotification'] const useTitle: typeof import('@vueuse/core').useTitle
const useWebSocket: typeof import('@vueuse/core')['useWebSocket'] const useToggle: typeof import('@vueuse/core').useToggle
const useWebWorker: typeof import('@vueuse/core')['useWebWorker'] const useTransition: typeof import('@vueuse/core').useTransition
const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn'] const useUrlSearchParams: typeof import('@vueuse/core').useUrlSearchParams
const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus'] const useUserMedia: typeof import('@vueuse/core').useUserMedia
const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll'] const useVModel: typeof import('@vueuse/core').useVModel
const useWindowSize: typeof import('@vueuse/core')['useWindowSize'] const useVModels: typeof import('@vueuse/core').useVModels
const watch: typeof import('vue')['watch'] const useVibrate: typeof import('@vueuse/core').useVibrate
const watchArray: typeof import('@vueuse/core')['watchArray'] const useVirtualList: typeof import('@vueuse/core').useVirtualList
const watchAtMost: typeof import('@vueuse/core')['watchAtMost'] const useWakeLock: typeof import('@vueuse/core').useWakeLock
const watchDebounced: typeof import('@vueuse/core')['watchDebounced'] const useWebNotification: typeof import('@vueuse/core').useWebNotification
const watchEffect: typeof import('vue')['watchEffect'] const useWebSocket: typeof import('@vueuse/core').useWebSocket
const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable'] const useWebWorker: typeof import('@vueuse/core').useWebWorker
const watchOnce: typeof import('@vueuse/core')['watchOnce'] const useWebWorkerFn: typeof import('@vueuse/core').useWebWorkerFn
const watchPausable: typeof import('@vueuse/core')['watchPausable'] const useWindowFocus: typeof import('@vueuse/core').useWindowFocus
const watchPostEffect: typeof import('vue')['watchPostEffect'] const useWindowScroll: typeof import('@vueuse/core').useWindowScroll
const watchSyncEffect: typeof import('vue')['watchSyncEffect'] const useWindowSize: typeof import('@vueuse/core').useWindowSize
const watchThrottled: typeof import('@vueuse/core')['watchThrottled'] const watch: typeof import('vue').watch
const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable'] const watchArray: typeof import('@vueuse/core').watchArray
const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter'] const watchAtMost: typeof import('@vueuse/core').watchAtMost
const whenever: typeof import('@vueuse/core')['whenever'] const watchDebounced: typeof import('@vueuse/core').watchDebounced
const watchEffect: typeof import('vue').watchEffect
const watchIgnorable: typeof import('@vueuse/core').watchIgnorable
const watchOnce: typeof import('@vueuse/core').watchOnce
const watchPausable: typeof import('@vueuse/core').watchPausable
const watchPostEffect: typeof import('vue').watchPostEffect
const watchSyncEffect: typeof import('vue').watchSyncEffect
const watchThrottled: typeof import('@vueuse/core').watchThrottled
const watchTriggerable: typeof import('@vueuse/core').watchTriggerable
const watchWithFilter: typeof import('@vueuse/core').watchWithFilter
const whenever: typeof import('@vueuse/core').whenever
}
// for type re-export
declare global {
// @ts-ignore
export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, ShallowRef, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
import('vue')
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -34,23 +34,23 @@ ...@@ -34,23 +34,23 @@
"devDependencies": { "devDependencies": {
"@rushstack/eslint-patch": "^1.1.3", "@rushstack/eslint-patch": "^1.1.3",
"@types/blueimp-md5": "^2.18.0", "@types/blueimp-md5": "^2.18.0",
"@types/node": "^17.0.35", "@types/node": "^25.5.0",
"@types/qs": "^6.9.7", "@types/qs": "^6.9.7",
"@types/sortablejs": "^1.13.0", "@types/sortablejs": "^1.13.0",
"@types/xlsx": "^0.0.35", "@types/xlsx": "^0.0.35",
"@vitejs/plugin-vue": "^3.2.0", "@vitejs/plugin-vue": "^6.0.5",
"@vue/eslint-config-typescript": "^10.0.0", "@vue/eslint-config-typescript": "^10.0.0",
"@vue/tsconfig": "^0.1.3", "@vue/tsconfig": "^0.9.0",
"ali-oss": "^6.17.1", "ali-oss": "^6.17.1",
"chalk": "^5.0.1", "chalk": "^5.0.1",
"eslint": "^8.16.0", "eslint": "^8.16.0",
"eslint-plugin-vue": "^8.7.1", "eslint-plugin-vue": "^8.7.1",
"sass": "^1.52.1", "sass": "^1.70.0",
"typescript": "~4.7.2", "typescript": "^5.9.3",
"unplugin-auto-import": "^0.9.2", "unplugin-auto-import": "^21.0.0",
"vite": "^3.2.11", "vite": "^8.0.1",
"vite-plugin-checker": "^0.4.9", "vite-plugin-checker": "^0.12.0",
"vite-plugin-mkcert": "^1.17.6", "vite-plugin-mkcert": "^1.17.10",
"vue-tsc": "^0.34.16" "vue-tsc": "^3.2.6"
} }
} }
...@@ -78,4 +78,5 @@ textarea:focus { ...@@ -78,4 +78,5 @@ textarea:focus {
:root { :root {
--main-color: #aa1941; --main-color: #aa1941;
--el-color-primary: #aa1941;
} }
...@@ -26,10 +26,10 @@ const listOptions = computed(() => { ...@@ -26,10 +26,10 @@ const listOptions = computed(() => {
<template> <template>
<AppCard :title="title"> <AppCard :title="title">
<AppList v-bind="listOptions" ref="appList" stripe> <AppList v-bind="listOptions" ref="appList" stripe>
<template #table-img="{ row }: { row: CourseType }"> <template #table-img="{ row }">
<img :src="row.cover" style="width: 100px" /> <img :src="row.cover" style="width: 100px" />
</template> </template>
<template #table-operate="{ row }: { row: CourseType }"> <template #table-operate="{ row }">
<router-link :to="`/course/my/view?id=${row.id}`" v-if="row.auth_view"> <router-link :to="`/course/my/view?id=${row.id}`" v-if="row.auth_view">
<el-button style="color: #399ee8" type="primary" link>查看</el-button> <el-button style="color: #399ee8" type="primary" link>查看</el-button>
</router-link> </router-link>
......
...@@ -88,7 +88,7 @@ const imgDefault = ref('https://cube.elemecdn.com/9/c2/f0ee8a3c7c9638a5494038256 ...@@ -88,7 +88,7 @@ const imgDefault = ref('https://cube.elemecdn.com/9/c2/f0ee8a3c7c9638a5494038256
:src="row.avatar || imgDefault" :src="row.avatar || imgDefault"
alt="" alt=""
style="width: 50px; height: 50px" style="width: 50px; height: 50px"
:preview-src-list="[row.avatar] || [imgDefault]" :preview-src-list="row.avatar ? [row.avatar] : [imgDefault]"
:initial-index="4" :initial-index="4"
fit="contain" fit="contain"
:preview-teleported="true" :preview-teleported="true"
......
...@@ -203,7 +203,7 @@ const swiperItemHandle = (url: string) => { ...@@ -203,7 +203,7 @@ const swiperItemHandle = (url: string) => {
} }
} }
} }
:deep(.el-carousel__indicators--horizontal) { .el-carousel__indicators--horizontal {
display: none; display: none;
} }
</style> </style>
...@@ -307,7 +307,7 @@ const changeProtocol = (data: any) => { ...@@ -307,7 +307,7 @@ const changeProtocol = (data: any) => {
} }
} }
} }
:deep(.el-carousel__indicators--horizontal) { .el-carousel__indicators--horizontal {
display: none; display: none;
} }
.protocol-box { .protocol-box {
......
...@@ -306,7 +306,7 @@ const changeProtocol = (data: any) => { ...@@ -306,7 +306,7 @@ const changeProtocol = (data: any) => {
} }
} }
} }
:deep(.el-carousel__indicators--horizontal) { .el-carousel__indicators--horizontal {
display: none; display: none;
} }
.protocol-box { .protocol-box {
......
...@@ -313,7 +313,7 @@ const changeProtocol = (data: any) => { ...@@ -313,7 +313,7 @@ const changeProtocol = (data: any) => {
} }
} }
} }
:deep(.el-carousel__indicators--horizontal) { .el-carousel__indicators--horizontal {
display: none; display: none;
} }
.protocol-box { .protocol-box {
......
...@@ -351,7 +351,7 @@ const changeProtocol = (data: any) => { ...@@ -351,7 +351,7 @@ const changeProtocol = (data: any) => {
} }
} }
} }
:deep(.el-carousel__indicators--horizontal) { .el-carousel__indicators--horizontal {
display: none; display: none;
} }
.protocol-box { .protocol-box {
......
...@@ -104,7 +104,7 @@ watch( ...@@ -104,7 +104,7 @@ watch(
type="primary" type="primary"
plain plain
@click="handleCheckPaper(row)" @click="handleCheckPaper(row)"
v-permission="'v1-teaching-paper-update' || 'v1-teaching-paper-view'" v-permission="['v1-teaching-paper-update', 'v1-teaching-paper-view']"
>批改试卷</el-link >批改试卷</el-link
> >
</el-space> </el-space>
......
...@@ -31,14 +31,14 @@ getPaperStuDetail({ id: paper_id }).then(res => { ...@@ -31,14 +31,14 @@ getPaperStuDetail({ id: paper_id }).then(res => {
v-for="(subItem, itemIndex) in item.children" v-for="(subItem, itemIndex) in item.children"
:key="subItem.id" :key="subItem.id"
:question="subItem" :question="subItem"
:currentIndex="index" :currentIndex="Number(index)"
:childIndex="itemIndex" :childIndex="Number(itemIndex)"
:questionId="paper_id" :questionId="paper_id"
/> />
</div> </div>
</div> </div>
<div class="sub-container" v-else> <div class="sub-container" v-else>
<QuestionItem :question="item" :currentIndex="index" :questionId="paper_id" /> <QuestionItem :question="item" :currentIndex="Number(index)" :questionId="paper_id" />
</div> </div>
</template> </template>
</div> </div>
...@@ -50,7 +50,7 @@ getPaperStuDetail({ id: paper_id }).then(res => { ...@@ -50,7 +50,7 @@ getPaperStuDetail({ id: paper_id }).then(res => {
border: 1px solid #f3f3f3; border: 1px solid #f3f3f3;
margin-bottom: 20px; margin-bottom: 20px;
border-radius: 6px; border-radius: 6px;
::v-deep .el-card__body { :deep(.el-card__body) {
padding: 10px 20px; padding: 10px 20px;
} }
.content { .content {
......
...@@ -18,7 +18,7 @@ interface Emits { ...@@ -18,7 +18,7 @@ interface Emits {
const handleCancel = () => { const handleCancel = () => {
emit('update:isShowReplyDialog', false) emit('update:isShowReplyDialog', false)
} }
const replyList = ref([ const replyList = ref<any[]>([
{ {
question_tit: '第三章学习问题', question_tit: '第三章学习问题',
question_desc: '2ddddxxxxxx', question_desc: '2ddddxxxxxx',
...@@ -114,7 +114,7 @@ const handleReply = () => { ...@@ -114,7 +114,7 @@ const handleReply = () => {
<div class="right_bottom"> <div class="right_bottom">
<div class="tit"> <div class="tit">
相关附件: 相关附件:
<div v-for="(it, index) in item.question_fileList" :key="index"> <div v-for="(it, index) in item.question_fileList || []" :key="index">
{{ it.name }} <a :href="it.url" style="color: #aa1941">查看</a> {{ it.name }} <a :href="it.url" style="color: #aa1941">查看</a>
</div> </div>
</div> </div>
......
...@@ -109,7 +109,7 @@ getWorkDetail({ id: props.id }).then(res => { ...@@ -109,7 +109,7 @@ getWorkDetail({ id: props.id }).then(res => {
</el-dialog> </el-dialog>
</template> </template>
<style> <style>
.el-input-number:placeholder { .el-input-number ::placeholder {
text-align: left; text-align: left;
} }
</style> </style>
...@@ -139,7 +139,7 @@ watch( ...@@ -139,7 +139,7 @@ watch(
plain plain
@click="handleCheckPaper(row)" @click="handleCheckPaper(row)"
v-if="row.created_at !== null" v-if="row.created_at !== null"
v-permission="'v1-teaching-job-update' || 'v1-teaching-job-view'" v-permission="['v1-teaching-job-update', 'v1-teaching-job-view']"
>批改</el-link >批改</el-link
> >
<div v-else>-</div> <div v-else>-</div>
......
{ {
"extends": "@vue/tsconfig/tsconfig.web.json",
"include": ["env.d.ts", "auto-imports.d.ts", "src/**/*", "src/**/*.vue"], "include": ["env.d.ts", "auto-imports.d.ts", "src/**/*", "src/**/*.vue"],
"compilerOptions": { "compilerOptions": {
"allowJs": true, "allowJs": true,
"baseUrl": ".", "baseUrl": ".",
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "node",
"resolveJsonModule": true,
"esModuleInterop": true,
"useDefineForClassFields": true,
"jsx": "preserve",
"lib": ["ESNext", "DOM", "DOM.Iterable"],
"strict": false,
"noImplicitAny": false,
"noImplicitThis": false,
"skipLibCheck": true,
"types": ["node"],
"paths": { "paths": {
"@/*": ["./src/*"] "@/*": ["./src/*"]
}, }
"suppressImplicitAnyIndexErrors": true,
"types": ["element-plus/global"]
}, },
"references": [ "references": [
......
{ {
"extends": "@vue/tsconfig/tsconfig.node.json",
"include": ["vite.config.*"], "include": ["vite.config.*"],
"compilerOptions": { "compilerOptions": {
"composite": true, "composite": true,
"target": "ESNext",
"module": "ESNext",
"moduleResolution": "node",
"resolveJsonModule": true,
"esModuleInterop": true,
"types": ["node"] "types": ["node"]
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论