@@ -3,10 +3,32 @@ import { fileURLToPath, URL } from "node:url";
3
3
import { defineConfig } from "vite" ;
4
4
import vue from "@vitejs/plugin-vue" ;
5
5
import vueJsx from "@vitejs/plugin-vue-jsx" ;
6
+ import * as path from 'path' ;
7
+ import * as fs from 'fs' ;
8
+
9
+ // 解决 react-virtualized 的一个历史遗留问题,参考 issue:https://github.com/bvaughn/react-virtualized/issues/1722
10
+ const WRONG_CODE = `import { bpfrpt_proptype_WindowScroller } from "../WindowScroller.js";` ;
11
+
12
+ function reactVirtualized ( ) {
13
+ return {
14
+ name : 'my:react-virtualized' ,
15
+ configResolved ( ) {
16
+ const file = require
17
+ . resolve ( 'react-virtualized' )
18
+ . replace (
19
+ path . join ( 'dist' , 'commonjs' , 'index.js' ) ,
20
+ path . join ( 'dist' , 'es' , 'WindowScroller' , 'utils' , 'onScroll.js' )
21
+ ) ;
22
+ const code = fs . readFileSync ( file , 'utf-8' ) ;
23
+ const modified = code . replace ( WRONG_CODE , '' ) ;
24
+ fs . writeFileSync ( file , modified ) ;
25
+ } ,
26
+ } ;
27
+ }
6
28
7
29
// https://vitejs.dev/config/
8
30
export default defineConfig ( {
9
- plugins : [ vue ( ) , vueJsx ( ) ] ,
31
+ plugins : [ vue ( ) , vueJsx ( ) , reactVirtualized ( ) ] ,
10
32
resolve : {
11
33
alias : {
12
34
"@" : fileURLToPath ( new URL ( "./src" , import . meta. url ) ) ,
0 commit comments