-
Notifications
You must be signed in to change notification settings - Fork 20
/
vite.config.ts
44 lines (40 loc) · 1.22 KB
/
vite.config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import { fileURLToPath, URL } from "node:url";
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";
import * as path from 'path';
import * as fs from 'fs';
// 解决 react-virtualized 的一个历史遗留问题,参考 issue:https://github.com/bvaughn/react-virtualized/issues/1722
const WRONG_CODE = `import { bpfrpt_proptype_WindowScroller } from "../WindowScroller.js";`;
function reactVirtualized() {
return {
name: 'my:react-virtualized',
configResolved() {
const file = require
.resolve('react-virtualized')
.replace(
path.join('dist', 'commonjs', 'index.js'),
path.join('dist', 'es', 'WindowScroller', 'utils', 'onScroll.js')
);
const code = fs.readFileSync(file, 'utf-8');
const modified = code.replace(WRONG_CODE, '');
fs.writeFileSync(file, modified);
},
};
}
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue(), vueJsx(), reactVirtualized()],
resolve: {
alias: {
"@": fileURLToPath(new URL("./src", import.meta.url)),
},
},
css: {
preprocessorOptions: {
less: {
javascriptEnabled: true,
},
},
},
});