Skip to content

Commit f2a62e6

Browse files
Merge pull request #800 from ahzvenol/refactor-perform-auto-import
refactor: perform auto-import using import.meta.glob
2 parents f50873b + 4e1b299 commit f2a62e6

File tree

2 files changed

+2
-41
lines changed

2 files changed

+2
-41
lines changed
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
import '../../gameScripts/pixi/performs/cherryBlossoms';
2-
import '../../gameScripts/pixi/performs/rain';
3-
import '../../gameScripts/pixi/performs/snow';
1+
import.meta.glob('../../gameScripts/pixi/performs/*.{ts,js,tsx,jsx}', { eager: true });

packages/webgal/vite.config.ts

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
import { defineConfig } from 'vite';
22
import react from '@vitejs/plugin-react';
33
import loadVersion from 'vite-plugin-package-version';
4-
import { resolve, relative } from 'path';
5-
import { visualizer } from 'rollup-plugin-visualizer';
6-
import { readdirSync, watch, writeFileSync } from 'fs';
7-
import { isEqual } from 'lodash';
4+
import { resolve } from 'path';
85
import Info from 'unplugin-info/vite';
96
import viteCompression from 'vite-plugin-compression';
107

@@ -13,40 +10,6 @@ import viteCompression from 'vite-plugin-compression';
1310
// @ts-ignore
1411
const env = process.env.NODE_ENV;
1512
console.log(env);
16-
(() => {
17-
const pixiPerformScriptDirPath = './src/Core/gameScripts/pixi/performs/';
18-
const pixiPerformManagerDirPath = './src/Core/util/pixiPerformManager/';
19-
const relativePath = relative(pixiPerformManagerDirPath, pixiPerformScriptDirPath).replaceAll('\\', '/');
20-
let lastFiles: string[] = [];
21-
22-
function setInitFile() {
23-
console.log('正在自动编写pixi特效依赖注入');
24-
writeFileSync(
25-
resolve(pixiPerformManagerDirPath, 'initRegister.ts'),
26-
lastFiles
27-
.map((v) => {
28-
const filePath = relativePath + '/' + v.slice(0, v.lastIndexOf('.'));
29-
return `import '${filePath}';`;
30-
})
31-
.join('\n') + '\n',
32-
{ encoding: 'utf-8' },
33-
);
34-
}
35-
36-
function getPixiPerformScriptFiles() {
37-
const pixiPerformScriptFiles = readdirSync(pixiPerformScriptDirPath, { encoding: 'utf-8' }).filter((v) =>
38-
['ts', 'js', 'tsx', 'jsx'].includes(v.slice(v.indexOf('.') + 1, v.length)),
39-
);
40-
if (!isEqual(pixiPerformScriptFiles, lastFiles)) {
41-
lastFiles = pixiPerformScriptFiles;
42-
setInitFile();
43-
}
44-
}
45-
46-
getPixiPerformScriptFiles();
47-
48-
if (env !== 'production') watch(pixiPerformScriptDirPath, { encoding: 'utf-8' }, getPixiPerformScriptFiles);
49-
})();
5013

5114
export default defineConfig({
5215
plugins: [

0 commit comments

Comments
 (0)